Функция AngleArc

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 также рисует линию, соединяющую текущий точку устройства к началу дуги

hdc
Описатель контекста устройства для рисования дуги
x
Координата x центра круга
y
Координата y центра круга
dwRadius
Радиус круга
eStartAngle
Угол (в градусах) для идентификации отправной точки дуги
eSweepAngle
Угол (в градусах) для идентификации конечной точки дуги

Пример

' Рисуем дугу, сформированную верхней половиной круга (от 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

Категория

Линии и кривые

Реклама