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
VBのCircleメソッドに相当する。
本関数はNTのみ使用可能。
本関数を実行すると、楕円形の孤が描画され、かつ、楕円の中点から指定した楕円の始点までの直線が描画される。
描画される楕円は、各引数で指定した長方形に内接する楕円となる。この境界長方形は、左上隅の座標が(LeftRect, TopRect)、右下隅の座標が(RightRect, BottomRect)となる。 描画の始点および終点は、それぞれ(XStartArc, YStartArc)および(XEndArc, YEndArc)の二つの座標で指定される。始点は、楕円の中点および(XStartArc, YStartArc)を通る直線と、楕円との交点となる。終点は、楕円の中点および(XEndArc, YEndArc)を通る直線と、楕円との交点となる。描画方向は、デフォルトでは反時計回りとなる。SetArcDirectionによって描画方向を指定することができる。
描画後、現在座標は指定した終点に更新される。
戻り値は、関数の実行に成功したか否かを表す真偽値である。
'宣言の一部
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