Rubrik: Grafik & Zeichnen | 22.03.05 |
PolyBezier-Funktion Diese Funktion zeichnet eine oder mehrere Bezierkurven. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 7.287 |
Deklaration:
Declare Function PolyBezier Lib "gdi32.dll" ( _ ByVal hdc As Long, _ lppt As POINTAPI, _ ByVal cPoints As Long) As Long
Beschreibung:
Diese Funktion zeichnet eine oder mehrere Bezierkurven.
Parameter:
hdc | Erwartet das Handle des Gerätes, auf dem die Kurven gezeichnet werden sollen. |
lppt | Erwartet ein Array von POINTAPI-Strukturen. Das erste Feld des Arrays legt die Startposition der Kurve fest. Jede folgende Gruppe von 3 Arrayfeldern beschreibt jeweils eine Kurve. |
cPoints | Erwartet die Anzahl der Arrayfelder in "lppt". |
Rückgabewert:
Ist die Funktion erfolgreich, so wird ein Wert "ungleich 0" zurückgegeben, andernfalls ist derWert "0" die Rückgabe. Unter Windows NT, 2000 und XP können Sie die GetLastError-Funktion für erweiterte Fehlerinformationen aufrufen.
Beispiel:
Private Declare Function PolyBezier Lib "gdi32.dll" ( _ ByVal hdc As Long, _ lppt As POINTAPI, _ ByVal cPoints As Long) As Long Private Type POINTAPI x As Long y As Long End Type
' Bezier auf die Form zeichnen Private Sub Form_Paint() Dim Retval As Long, Pt(6) As POITNAPI Me.ScaleMode = vbPixels Me.Cls ' Kurven definieren With Pt(0) .x = 20 .y = 20 End With With Pt(1) .x = 200 .y = 200 End With With Pt(2) .x = 120 .y = 300 End With With Pt(3) .x = 120 .y = 80 End With With Pt(4) .x = 200 .y = 120 End With With Pt(5) .x = 20 .y = 60 End With With Pt(6) .x = 20 .y = 20 End With ' Bezier zeichnen Retval = PolyBezier(Me.hdc, Pt(0), UBound(Pt) + 1) End Sub