ArcTo 楕円形の円弧の描画

VBの宣言:

Declare Function ArcTo Lib "gdi32" ( _
    ByVal hDC As Long, _
    ByVal LeftRect As Long, _
    ByVal TopRect As Long, _
    ByVal RightRect As Long, _
    ByVal BottomRect As Long, _
    ByVal XStartArc As Long, _
    ByVal YStartArc As Long, _
    ByVal XEndArc As Long, _
    ByVal YEndArc As Long) As Long

説明:

hDCで指定されたデバイスコンテキストに楕円形の円弧を描画する。

VBのCircleメソッドに相当する。

本関数はNTのみ使用可能。

本関数を実行すると、楕円形の孤が描画され、かつ、楕円の中点から指定した楕円の始点までの直線が描画される。

描画される楕円は、各引数で指定した長方形に内接する楕円となる。この境界長方形は、左上隅の座標が(LeftRect, TopRect)、右下隅の座標が(RightRect, BottomRect)となる。 描画の始点および終点は、それぞれ(XStartArc, YStartArc)および(XEndArc, YEndArc)の二つの座標で指定される。始点は、楕円の中点および(XStartArc, YStartArc)を通る直線と、楕円との交点となる。終点は、楕円の中点および(XEndArc, YEndArc)を通る直線と、楕円との交点となる。描画方向は、デフォルトでは反時計回りとなる。SetArcDirectionによって描画方向を指定することができる。

描画後、現在座標は指定した終点に更新される。

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

VBのサンプル:

右1/4が欠けた楕円形の円弧をピクチャボックスに描画する。
'宣言の一部
Declare Function MoveToEx Lib "gdi32" ( _
    ByVal hDC As Long, _
    ByVal X As Long, _
    ByVal Y As Long, _
    ByVal pLastPoint As Long) As Long

'楕円の描画
Private Sub Command1_Click()
    MoveToEx Picture1.hDC, 100, 50, 0
    ArcTo Picture1.hDC, 0, 0, 200, 100, 200, 0, 200, 100
    LineTo Picture1.hDC, 100, 50
End Sub



(original text:1999/02/22 更新)

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