Declare Function AngleArc Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, _ ByVal y As Long, _ ByVal dwRadius As Long, _ ByVal eStartAngle As Single, _ ByVal eSweepAngle As Single) As Long
AngleArc рисует дугу на устройстве, используя текущее для устройства перо. Круг, которым рисуется дуга, определена ее центром и радиусом. Начало и конечные точки дуги определены угловыми мерами в градусах и рисуются против часовой стрелки от линии, параллельной положительной оси X. Дуга непосредственно оттянута или по часовой стрелке или против часовой стрелки соединненых точек, в зависимости от параметров настройки устройства. AngleArc также рисует линию, соединяющую текущий точку устройства к началу дуги
' Рисуем дугу, сформированную верхней половиной круга (от 0 до 180 ' градусов против часовой стрелки). Круг центрирован в (100, 150) и имеет радиус ' 50. Дуга оттянута, используя сплошное черное перо Dim hpen As Long ' дескриптор черного пера Dim holdpen As Long ' дескриптор предварительно выбранного пера Form1 Dim retval As Long ' возвращаемое значение ' Получаем сплошное черное перо для использования в Form1 hpen = GetStockObject(BLACK_PEN) ' дескриптор черного пера holdpen = SelectObject(Form1.hDC, hpen) ' выбираем перо ' Выбираем направление против часовой стрелки ' для вывода дуги retval = SetArcDirection(Form1.hDC, AD_COUNTERCLOCKWISE) ' рисуем дугу retval = AngleArc(Form1.hDC, 100, 150, 50, 0, 180) ' Выбираем прежнее перо Form1 для установки по умолчанию retval = SelectObject(Form1.hDC, holdpen) ' выбираем старое перо
Arc, ArcTo, Ellipse, GetArcDirection, SetArcDirection