Polygon

Aus API-Wiki
Zur Navigation springenZur Suche springen

Die API-Funktion Polygon zeichnet ein geschlossenes Polygon. Die Polygonpunkte werden in einem Feld vom Typ PointApi oder in einem Feld von 32-Bit-Integern (Long) übergeben.

Declare Function Polygon Lib "gdi32" ( _
                 ByVal hDC As Long, _
                 ByRef lpPoint As PointApi, _
                 ByVal nCount As Long) As Long

Declare Function Polygon Lib "gdi32" ( _
                 ByVal hDC As Long, _
                 ByRef lpPoint As Long, _
                 ByVal nCount As Long) As Long

Parameter:

hDC

Handle eines Device Contextes

lpPoint

Zeiger auf ein Feld vom Typ PointApi

nCount

Anzahl der zu verwendenden Linienpunkte

Rückgabe(n):

War die Funktion erfolgreich, so erfolgt eine Übergabe eines Wertes ungleich 0. Sollte die Funktion fehlschlagen, so kann die Fehlerursache mittels GetLastError festgestellt werden.

Beispiel:

Dim lngReturn As Long
Dim tPointApi(0 To 3) As PointApi

tPointApi(0).X = 10: tPointApi(0).Y = 10
tPointApi(1).X = 10: tPointApi(1).Y = 100
tPointApi(2).X = 50: tPointApi(2).Y = 100
tPointApi(3).X = 50: tPointApi(3).Y = 50

lngReturn = Polygon(Picture1.hDC, tPointApi(0), 4)

Hinweise:

Die Ausgabe beginnt beim angegebenen Punkt. Dies kann, muß aber nicht notwendigerweise, der erste Punkt im Feld (Array) sein. nCount ist die Zahl der zu verwendenden Polygonpunkte. Diese Zahl ist üblicherweise die Anzahl der Punkte im Feld, kann aber auch geringer sein.

Es werden die aktuellen Stift-Einstellungen und Füllstile, bzw. Füllmuster verwendet. Erfolgt die Ausgabe in einer VB-Picturebox oder Form, so können die VB-Funktionen verwendet werden, um Einstellungen zu setzen. Andernfalls müssen API-Befehle (CreatePen, CreateBrush) verwendet werden.

Betriebssystem:

Die API-Funktion Polygon ist unter folgenden Betriebssystemen funktionsfähig:

  • Windows 95 und später
  • Windows NT 3.1 und später


Diese Deklaration wurde von - erstellt. Sollten Sie Fragen zur Verwendung der entsprechenden Funktion haben, so verwenden Sie hierfür bitte das Visual Basic Forum, die Artikeldiskussionsseite oder die Nutzerdiskussionsseite.