vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
DTA-Dateien erstellen inkl. BLZ-/Kontonummernpr?fung  
 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
ArcTo-Funktion

Diese Funktion zeichnet einen Kreisausschnitt beginnend von der aktuellen Position und setzt den letzten gezeichneten Punkt als aktuellen Punkt des Devices.

Betriebssystem:  WinNT 3.1, WinNT 3.1, Win2000, WinMEViews:  8.560 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise bis zu 120,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 479,20 EUR statt 599,- EUR
  • sevDTA 3.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 20,00 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 55,20 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Deklaration:

    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

    Beschreibung:
    Diese Funktion zeichnet einen Kreisausschnitt beginnend von der aktuellen Position und setzt den letzten gezeichneten Punkt als aktuellen Punkt des Devices.

    Parameter:
    hdcErwartet das Handle des Gerätes, auf dem der Kreisausschnitt gezeichnet werden soll.
    nLeftRectErwartet die linke Koordinate des Rechtecks, in dem der Kreisausschnitt gezeichnet werden soll.
    nTopRectErwartet die obere Koordinate des Rechtecks, in dem der Kreisausschnitt gezeichnet werden soll.
    nRightRectErwartet die rechte Koordinate des Rechtecks, in dem der Kreisausschnitt gezeichnet werden soll.
    nBottomRectErwartet die untere Koordinate des Rechtecks, in dem der Kreisausschnitt gezeichnet werden soll.
    nXRadial1Erwartet die horizontale Startposition, an der begonnen werden soll, den Kreisausschnitt in dem Rechteck zu zeichnen.
    nYRadial1Erwartet die vertikale Startposition, an der begonnen werden soll, den Kreisausschnitt in dem Rechteck zu zeichnen.
    nXRadial2Erwartet die horizontale Endposition, biszu der der Kreisausschnitt in dem Rechteck gezeichnet werden soll.
    nYRadial2Erwartet die vertikale Endposition, biszu der der Kreisausschnitt in dem Rechteck gezeichnet werden soll.

    Rückgabewert:
    Ist die Funktion erfolgreich so wird ein Wert "ungleich 0" zurückgegeben, andernfalls wird derWert "0" zurückgegeben. Für erweiterte 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 8.560 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