Declare Function ArcTo Lib "gdi32" (ByVal hdc As Long, _ ByVal nLeftRect As Long, ByVal nTopRect As Long, ByVal nRightRect As Long, _ ByVal nBottomRect As Long, ByVal nXRadial1 As Long, ByVal nYRadial1 As Long, _ ByVal nXRadial2 As Long, ByVal nYRadial2 As Long) As Long
ArcTo рисует дугу на устройстве, используя текущее перо контекста. После вывода дуги, текущая точка контекста устанавливается в последнюю точку дуги. Эллипс, на котором рисуются дуги, находится в пределах координат ограничительного прямоугольника. Начальная и конечная точки определяются двумя величинами. Направление вывода дуги зависит от текущей установки устройства.
' Рисуем дугу, которая формирует верхнюю половину эллипса. Эллипс ' отцентрирован в (100, 100), имеет ширину 200, и имеет высоту 100. Дуга оттянута ' на окне Form1, использующем черное сплошное перо Dim hpen As Long ' описатель черного сплошного пера Dim holdpen As Long ' описатель старого пера, используемому Form1 Dim retval As Long ' возвращаемое значение ' Получаем описатель черного пера ' и устанавливаем его текущим пером Form1 hpen = GetStockObject(BLACK_PEN) ' получаем описатель пера формы holdpen = SelectObject(Form1.hDC, hpen) ' Эллипс, определенным ограничивающим прямоугольником (0,50)-(200,150) retval = ArcTo(Form1.hDC, 0, 50, 200, 150, 200, 100, 0, 100) ' Восстанавливаем старое перо Form1 retval = SelectObject(Form1.hDC, holdpen)
AngleArc, Arc, Ellipse, GetArcDirection, SetArcDirection