Private Type POINTAPI x As Long y As Long End Type Private Declare Function PolyBezier Lib "gdi32.dll" (ByVal hdc As Long, lppt As POINTAPI, ByVal cPoints As Long) As Long Private Declare Function PolyBezierTo Lib "gdi32.dll" (ByVal hdc As Long, lppt As POINTAPI, ByVal cCount As Long) As Long Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As Any) As Long Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long Private Declare Function PolyPolygon Lib "gdi32.dll" (ByVal hdc As Long, lpPoint As POINTAPI, lpPolyCounts As Long, ByVal nCount As Long) As Long Private Sub Form_Paint() 'KPD-Team 2000 'URL: http://www.allapi.net/ 'E-Mail: KPDTeam@Allapi.net Dim pts(0 To 6) As POINTAPI Dim numpoints(0 To 1) As Long 'set the co�rdinates pts(0).x = 0: pts(0).y = 100 pts(1).x = 125: pts(1).y = 75 pts(2).x = 255: pts(2).y = 148 pts(3).x = 219: pts(3).y = 199 pts(4).x = 315: pts(4).y = 203 pts(5).x = 236: pts(5).y = 16 pts(6).x = 122: pts(6).y = 123 'set the forecolor to green Me.ForeColor = vbGreen 'draw the b�zier PolyBezier Me.hdc, pts(0), 7 'set the forecolor to red Me.ForeColor = vbRed 'move the 'active' point MoveToEx Me.hdc, 200, 25, ByVal 0& 'set the co�rdinates pts(0).x = 125: pts(0).y = 50 pts(1).x = 123: pts(1).y = 200 pts(2).x = 102: pts(2).y = 100 pts(3).x = 102: pts(3).y = 100 pts(4).x = 312: pts(4).y = 75 pts(5).x = 289: pts(5).y = 125 'draw the b�zier PolyBezierTo Me.hdc, pts(0), 6 'set the forecolor to blue Me.ForeColor = vbBlue 'set the points belonging to the rectangle pts(0).x = 20: pts(0).y = 10 pts(1).x = 200: pts(1).y = 10 pts(2).x = 200: pts(2).y = 190 pts(3).x = 20: pts(3).y = 190 numpoints(0) = 4 'set the points belonging to the triangle pts(4).x = 100: pts(4).y = 0 pts(5).x = 50: pts(5).y = 100 pts(6).x = 150: pts(6).y = 100 numpoints(1) = 3 'draw the polygons PolyPolygon Me.hdc, pts(0), numpoints(0), 2 End Sub |