FillPathの例(VB)

説明:

二つの重なり合う円からなるパスを作成し、この内部を斜線で塗りつぶす。共通部分は塗りつぶさない。

(本サンプルはNTでのみ動作可能。95/98の場合、描画関数を変更すること。)

キーワード:

BeginPath, Ellipse, EndPath, CreateHatchBrush, SelectObject, SetPolyFillMode, FillPath, DeleteObject

サンプルコード:

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
    FillPath Picture1.hDC

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

End Sub

(original text:1999/10/21 更新)

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