BOOL WidenPath(HDC hDC);
Declare Function WidenPath Lib "gdi32" (ByVal hDC As Long) As Long
hDCで指定されたデバイスコンテキストに選択されているペンは、ExtCreatePenで作成したジオメトリックペンまたはCreatePenで作成した幅1以上のペンでなければならない。
パスに含まれるベジエ曲線は線分に分割される。
引数の意味は以下の通り。
hDC | パスを選択しているデバイスコンテキストのハンドル。 |
戻り値は、関数の実行結果を表す真偽値である。
Private Sub Command1_Click() Dim I As Long Dim hPen As Long Dim hOldPen As Long Picture1.ScaleMode = vbPixels SetPolyFillMode Picture1.hDC, WINDING 'パス用のペンの設定 hPen = CreatePen(PS_SOLID, 20, vbWhite) hOldPen = SelectObject(Picture1.hDC, hPen) 'パスブラケットのオープン BeginPath Picture1.hDC '三角形を描画 MoveToEx Picture1.hDC, 100, 50, 0 LineTo Picture1.hDC, 50, 150 LineTo Picture1.hDC, 150, 150 CloseFigure Picture1.hDC 'パスブラケットのクローズ EndPath Picture1.hDC '(中空の)三角形をクリッピングパスとして設定する WidenPath Picture1.hDC SelectClipPath Picture1.hDC, RGN_COPY SelectObject Picture1.hDC, hOldPen DeleteObject hPen '集中線の描画 For I = 1 To 400 Step 5 Picture1.Line (0, 0)-(I, 400 - I) Next End Sub