Rubrik: Grafik & Zeichnen | 22.03.05 |
PolyBezierTo-Funktion Diese Funktion zeichnet eine oder mehrere Bezierkurven von dem aktuellem Punkt eines Gerätes zu den angegebenen Koordinaten. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 6.702 |
Deklaration:
Declare Function PolyBezierTo Lib "gdi32.dll" ( _ ByVal hdc As Long, _ lppt As POINTAPI, _ ByVal cCount As Long) As Long
Beschreibung:
Diese Funktion zeichnet eine oder mehrere Bezierkurven von dem aktuellem Punkt eines Gerätes zu den angegebenen Koordinaten.
Parameter:
hdc | Erwartet das Handle des Gerätes, auf dem die Bezier Kurven gezeichnet werden sollen. |
lppt | Erwartet ein Array von POINTAPI-Strukturen, wobei jeweils eine Gruppe von 3 Arrays eine Kurve beschreibt. |
cPoints | Erwartet die Anzahl der Arrayfelder in "lppt". |
Rückgabewert:
Ist die Funktion erfolgreich, so wird ein Wert "ungleich 0" zurückgegeben, andernfalls derWert "0". Unter Windows NT, 2000 und XP können Sie die GetLastError-Funktion für erweiterte Fehlerinformationen aufrufen.
Beispiel:
Private Declare Function MoveToEx Lib "gdi32.dll" ( _ ByVal hdc As Long, _ ByVal x As Long, _ ByVal y As Long, _ lpPoint As POITNAPI) As Long Private Declare Function PolyBezierTo Lib "gdi32.dll" ( _ ByVal hdc As Long, _ lppt As POINTAPI, _ ByVal cCount As Long) As Long Private Type POINTAPI x As Long y As Long End Type
' Kurven auf die Form zeichnen Private Sub Form_Paint() Dim Retval As Long, Pt(5) As POITNAPI, MovePt As POITNAPI ' Startpunkt setzen Me.Cls Me.ScaleMode = vbPixels Retval = MoveToEx(Me.hdc, 20, 20, MovePt) ' 2 Kurven definieren Pt(0).x = Me.ScaleWidth: Pt(0).y = 20 Pt(1).x = Me.ScaleWidth / 2: Pt(1).y = Me.ScaleHeight / 2 Pt(2).x = Me.ScaleWidth: Pt(2).y = Me.ScaleHeight Pt(3).x = Me.ScaleWidth / 2: Pt(3).y = Me.ScaleHeight / 2 + 20 Pt(4).x = 20: Pt(4).y = Me.ScaleHeight Pt(5).x = 20: Pt(5).y = 20 ' 2 Kurven zeichnen Retval = PolyBezierTo(Me.hdc, Pt(0), UBound(Pt) + 1) End Sub