vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Grafik & Zeichnen22.03.05
PolyPolyline-Funktion

Diese Funktion zeichnet mehrere Figuren die wiederum aus mehreren Linien bestehen können auf ein angegebenes Device.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  7.047 

Deklaration:

Declare Function PolyPolyline Lib "gdi32.dll" ( _
  ByVal hdc As Long, _
  lppt As POINTAPI, _
  lpdwPolyPoints As Long, _
  ByVal cCount As Long) As Long

Beschreibung:
Diese Funktion zeichnet mehrere Figuren die wiederum aus mehreren Linien bestehen können auf ein angegebenes Device.

Parameter:
hdcErwartet das Handle des Gerätes, auf dem die Linien gezeichnet werden sollen.
lpptErwartet ein Array von POINTAPI-Strukturen, das alle Linien aller Figuren enthalten muss. Jede Figur beginnt mit einem Startpunkt, geht eventuell über mehrereZwischenpunkte und endet schließlich an dem Endpunkt.
lpdwPolyPointsErwartet ein Long-Array, wobei jedes Feld mit der Anzahl der Punkte einer Figur gefüllt ist. Enthält "lppt" zwei, jeweils aus 4 Punkten bestehende Figuren so wir hierz.B. ein zwei Felder großes Array erwartet, wobei jedes Feld mit dem Wert 4 gefüllt sein muss.
cCountErwartet die Anzahl der Arrayfelder in "lpdwPolyPoints".

Rückgabewert:
Ist die Funktion erfolgreich, so wird der Wert "1" zurückgegeben, andernfalls derWert "0".

Beispiel:

Private Declare Function PolyPolyline Lib "gdi32.dll" ( _
  ByVal hdc As Long, _
   lppt As POINTAPI, _
  lpdwPolyPoints As Long, _
  ByVal cCount As Long) As Long
 
Private Type POINTAPI
  x As Long
  y As Long
End Type
' Zeichnen zweier umgedrehter Dreiecke auf der gesamten Form
Private Sub Form_Paint()
  Dim Retval As Long, Points(7) As POINTAPI, Figures(1) As Long
 
  Me.ScaleMode = vbPixels
 
  ' erstes Dreieck festlegen
  With Points(0)
    .x = 10
    .y = 10
  End With
  With Points(1)
    .x = (Me.ScaleWidth - 20) / 2
    .y = (Me.ScaleHeight - 20) / 2
  End With
  With Points(2)
    .x = Me.ScaleWidth - 10
    .y = 10
  End With
  With Points(3)
    .x = 10
    .y = 10
  End With
  Figures(0) = 4
 
  ' zweites Dreieck festlegen
  With Points(4)
    .x = 10
    .y = (Me.ScaleHeight - 20) / 2
  End With
  With Points(5)
    .x = (Me.ScaleWidth - 20) / 2
    .y = Me.ScaleHeight - 10
  End With
  With Points(6)
    .x = Me.ScaleWidth - 10
    .y = (Me.ScaleHeight - 20) / 2
  End With
  With Points(7)
    .x = 10
    .y = (Me.ScaleHeight - 20) / 2
  End With
  Figures(1) = 4
 
  ' Dreieck zeichnen
  Me.Cls
  Retval = PolyPolyline(Me.hdc, Points(0), Figures(0), UBound(Figures) + 1) 
End Sub
' Beim Ändern der Fenstergröße auch zeichnen
Private Sub Form_Resize()
  Call Form_Paint
End Sub

Diese Seite wurde bereits 7.047 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel