Rubrik: Grafik & Zeichnen | 22.03.05 |
PolylineTo-Funktion Diese Funktion zeichnet eine oder mehrere Linien auf ein angegebenes Gerät, beginnend von der aktuellen Position des Devices. | ||
Betriebssystem: Win95, Win98, WinNT 3.1, Win2000, WinME | Views: 6.511 |
Deklaration:
Declare Function PolylineTo Lib "gdi32.dll" ( _ ByVal hdc As Long, _ lppt As POINTAPI, _ ByVal cCount As Long) As Long
Beschreibung:
Diese Funktion zeichnet eine oder mehrere Linien auf ein angegebenes Gerät, beginnend von der aktuellen Position des Devices.
Parameter:
hdc | Erwartet den Devicekontext des Gerätes, auf dem die Linien gezeichnet werden sollen. |
lpPoint | Erwartet ein Array von POINTAPI-Strukturen, wobei jedes Feld mit den Koordinaten eines Punktes gefüllt sein muss zu dem die nächste Linie hingezogen werden soll. |
nCount | Erwartet die Anzahl der enthaltenen Felder in dem Array "lpPoint". |
Rückgabewert:
Ist die Funktion erfolgreich so wird der Wert "1" zurückgegeben, andernfalls derWert "0".
Beispiel:
Private Declare Function PolylineTo Lib "gdi32.dll" ( _ ByVal hdc As Long, _ lppt As POINTAPI, _ ByVal cCount As Long) As Long Private Declare Function MoveToEx Lib "gdi32.dll" ( _ ByVal hdc As Long, _ ByVal x As Long, _ ByVal y As Long, _ lpPoint As POINTAPI) As Long Private Type POINTAPI x As Long y As Long End Type
' Zeichnen eines umgedrehten Dreiecks auf der gesamten Form Private Sub Form_Paint() Dim Retval As Long, Points(2) As POINTAPI, OldPT As POINTAPI ' Dreieckspunkte festlegen Me.ScaleMode = vbPixels Retval = MoveToEx(Me.hdc, 10, 10, OldPT) With Points(0) .x = (Me.ScaleWidth - 20) / 2 .y = Me.ScaleHeight - 10 End With With Points(1) .x = Me.ScaleWidth - 10 .y = 10 End With With Points(2) .x = 10 .y = 10 End With ' Dreieck zeichnen Me.Cls Retval = PolylineTo(Me.hdc, Points(0), UBound(Points) + 1) End Sub
' Beim Ändern der Fenstergröße auch zeichnen Private Sub Form_Resize() Call Form_Paint End Sub