StrokeAndFillPath パスの描画と塗りつぶし

Cの宣言:

BOOL StrokeAndFillPath(HDC hDC);

VBの宣言:

Declare Function StrokeAndFillPath Lib "gdi32" (ByVal hDC As Long) As Long

説明:

選択されているペンを使用してパスを描画し、また、パスの内部を選択されているブラシによって塗りつぶす。

引数の意味は以下の通り。
hDC 描画先のデバイスを識別するデバイスコンテキストのハンドル。

戻り値は、関数の実行結果を表す真偽値である。

VBのサンプル:

二つの重なり合う円からなるパスを作成し、描画する。境界は現在のペンで描画し、また、内部を斜線で塗りつぶす。 (本サンプルはNTでのみ動作可能。95/98の場合、描画関数を変更すること。)
Private Sub Command1_Click()

    Dim hBrush As Long
    Dim hOldBrush As Long
    
    'パスの作成
    BeginPath Picture1.hDC
    
    Ellipse Picture1.hDC, 0, 0, 100, 100
    Ellipse Picture1.hDC, 50, 50, 150, 150
    
    EndPath Picture1.hDC

    'パスの描画
    hBrush = CreateHatchBrush(HS_BDIAGONAL, vbBlack)
    hOldBrush = SelectObject(Picture1.hDC, hBrush)
    
    SetPolyFillMode Picture1.hDC, ALTERNATE
    StrokeAndFillPath Picture1.hDC

    '後処理
    SelectObject Picture1.hDC, hOldBrush
    DeleteObject hBrush

End Sub

(original text:1999/09/08 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。