CloseFigure パス中の図形を閉じる

Cの宣言:

BOOL CloseFigure(HDC hDC);

説明:

hDCで指定されたデバイスコンテキストでパスの作成をBeginPathによって開始している際に、描画した図形を閉じる。

本関数を使用せずに閉じた図形を作成した場合、閉じた位置は適切な接合で描画されず、端点として描画される。

引数の意味は以下の通り。

hDC パス作成中のデバイスコンテキストのハンドル。

戻り値は、関数の実行に成功したか否かを表す真偽である。

VBのサンプル:

三角形のパスを作成し、ExtCreatePenによってマイター接合をした三角形を描画する。パス作成時にCloseFigureを使用することにより、全ての頂点がマイター接合するようにする。
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

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

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