Declare Function PolyBezier Lib "gdi32" (ByVal hdc As Long, lppt As POINTAPI, ByVal cPoints As Long) As Long
PolyBezier рисует серию кривых Безье
' Рисуем две кривые Безье на форме Form1 ' используя сплошное черное перо Dim hPen As Long ' дескриптор пера Dim hOldPen As Long ' дескриптор старого пера Dim pts(0 To 6) As POINTAPI ' массив точек для кривых Dim lRet As Long ' возвращаемое значение ' Загрузим точки, определяющие две кривые Безье в массив pts(0).x = 100: pts(0).y = 100 ' стартовая точка 1 кривой pts(1).x = 125: pts(1).y = 75 ' контрольная точка pts(2).x = 150: pts(2).y = 125 ' контрольная точка pts(3).x = 175: pts(3).y = 100 ' финишная точка 1 кривой ' Следующие три точки задают рисунок второй кривой, начиная с (175,100) pts(4).x = 225: pts(4).y = 50 ' контрольная точка (225,50) pts(5).x = 300: pts(5).y = 150 ' контрольная точка (300, 150) pts(6).x = 250: pts(6).y = 200 ' финишная точка 2 кривой (250,200) ' Получим дескриптор пера hPen = GetStockObject(BLACK_PEN) ' Выберем перо для Form1 hOldPen = SelectObject(Form1.hDC, hPen) ' Выводим наши кривые lRet = PolyBezier(Form1.hDC, pts(0), 7) ' Выбираем предыдущее перо для Form1 lRet = SelectObject(Form1.hDC, hOldPen)