BOOL CloseFigure(HDC hDC);
本関数を使用せずに閉じた図形を作成した場合、閉じた位置は適切な接合で描画されず、端点として描画される。
引数の意味は以下の通り。
| hDC | パス作成中のデバイスコンテキストのハンドル。 |
戻り値は、関数の実行に成功したか否かを表す真偽である。
Private Sub Command1_Click()
Dim hOldPen As Long
Dim hPen As Long
Dim Log As LOGBRUSH
Log.lbStyle = BS_SOLID
Log.lbColor = vbWhite
Log.lbHatch = 0
'パスブラケットのオープン
BeginPath Picture1.hDC
'三角形を記述
MoveToEx Picture1.hDC, 100, 50, 0
LineTo Picture1.hDC, 50, 150
LineTo Picture1.hDC, 150, 150
'以下のようにLineToで図形を閉じた場合、マイター接合されない。
'LineTo Picture1.hDC, 100, 50
'従って、CloseFigureで図形を閉じる
CloseFigure Picture1.hDC
'パスブラケットの終了
EndPath Picture1.hDC
'パスの描画
hPen = ExtCreatePen( _
PS_GEOMETRIC Or PS_SOLID Or PS_ENDCAP_FLAT Or PS_JOIN_MITER, _
20, Log, 0, 0)
hOldPen = SelectObject(Picture1.hDC, hPen)
StrokePath Picture1.hDC
'後処理
SelectObject Picture1.hDC, hOldPen
DeleteObject hPen
End Sub