vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2017
 
zurück
Rubrik: Grafik & Zeichnen22.03.05
AngleArc-Funktion

Diese Funktion zeichnet einen Kreisausschnitt beginnend von der aktuellen Position mit der angegebenen Gradzahl.

Betriebssystem:  WinNT 3.1, WinNT 3.1, Win2000, WinMEViews:  9.182 

Deklaration:

Declare Function AngleArc Lib "gdi32.dll" ( _
  ByVal hdc As Long, _
  ByVal x As Long, _
  ByVal y As Long, _
  ByVal dwRadius As Long, _
  ByVal eStartAngle As Single, _
   ByVal eSweepAngle As Single) As Long

Beschreibung:
Diese Funktion zeichnet einen Kreisausschnitt beginnend von der aktuellen Position mit der angegebenen Gradzahl.

Parameter:
hdcErwartet den Devicekontext des Gerätes, auf dem der Kreisausschnitt gezeichnet werden soll.
xErwartet die horizontale Koordinate, auf dem der Kreisausschnitt zentriert werden soll.
yErwartet die vertikale Koordinate, auf dem der Kreisausschnitt zentriert werden soll.
dwRadiusErwartet den Radius desKreisausschnitts.
eStartAngleErwartet die Gradzahl, bei der begonnen werden soll den Kreisausschnitt zu zeichnen.
eSweepAngleErwartet dieGradzahl, wie der Kreisausschnitt gezeichnet werden soll.

Rückgabewert:
Ist die Funktion erfolgreich so wird ein Wert "ungleich 0" zurückgegeben, andernfalls wird derWert "0" zurückgegeben. Fürerweiterte Fehlerinformationen rufen Sie die GetLastError-Funktion auf.

Beispiel:

Private Declare Function AngleArc Lib "gdi32.dll" ( _
  ByVal hdc As Long, _
  ByVal x As Long, _
  ByVal y As Long, _
  ByVal dwRadius As Long, _
  ByVal eStartAngle As Single, _
  ByVal eSweepAngle As Single) As Long
Private Declare Function GetArcDirection Lib "gdi32" (ByVal hdc As Long) As Long 
Private Declare Function SetArcDirection Lib "gdi32" ( _
  ByVal hdc As Long, _
   ByVal ArcDirection As Long) As Long
Private Declare Function ArcTo Lib "gdi32.dll" ( _
  ByVal hdc As Long, _
  ByVal nLeftRect As Long, _
  ByVal nTopRect As Long, _
  ByVal nRightRect As Long, _
  ByVal nBottomRect As Long, _
  ByVal nXRadial1 As Long, _
  ByVal nYRadial1 As Long, _
   ByVal nXRadial2 As Long, _
  ByVal nYRadial2 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 POITAPI) As Long
 
Private Type POITAPI
  x As Long
  y As Long
End Type
 
' Get- /SetArcDirection Rückgabe-/ArcDirection-Konstanten
Private Const AD_CLOCKWISE = 2 ' mit dem Uhrzeigersinn
Private Const AD_COUNTERCLOCKWISE = 1 ' gegen den Uhrzeigersinn
' eine Brücke zeichnen
Private Sub Form_Load()
  Dim Retval As Long, PT As POITAPI
 
  ' Richtung des Zeichnens setzen
  If GetArcDirection(Me.hdc) = AD_CLOCKWISE Then
    Retval = SetArcDirection(Me.hdc, AD_COUNTERCLOCKWISE)
  End If
 
  With Me
    .AutoRedraw = True
    .ScaleMode = vbPixels
 
    ' Startpunkt definieren (rechte Fenstermitte)
    Call MoveToEx(Me.hdc, .ScaleWidth - 20, .ScaleHeight / 2, PT)
 
    ' ersten Bogen malen (oben)
    Retval = AngleArc(.hdc, ScaleWidth / 2, .ScaleHeight / 2,  _
    .ScaleHeight / 2 - 20, 0, 180)
 
    ' Richtung zum Zeichnen des Bogens ändern
    Retval = SetArcDirection(Me.hdc, AD_CLOCKWISE)
 
    ' zweiten Bogen zeichnen (unten)
    Retval = ArcTo(.hdc, 20, 0, .ScaleWidth - 20, .ScaleHeight, 0,  _
    .ScaleHeight / 2, .ScaleWidth, .ScaleHeight / 2)
  End With
End Sub

Diese Seite wurde bereits 9.182 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2017 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