Funktionreferenz


_GDIPlus_ArrowCapGetMiddleInset

Beschreibung anzeigen in

Ermittelt den Wert des Grundlinienversatzes eines Pfeil-Objekts

#include <GDIPlus.au3>
_GDIPlus_ArrowCapGetMiddleInset ( $hArrowCap )

Parameter

$hArrowCap Handle zu einem ArrowCap-Objekt (Pfeil-Objekt)

Rückgabewert

Erfolg: Gibt den Wert des mittleren Einsatzes zurück.
Fehler: 0 und setzt das @error Flag auf ungleich null, das @extended Flag kann den GPSTATUS-Fehlercode ($GPID_ERR* siehe GDIPlusConstants.au3) enthalten.

Bemerkungen

Der Grundlinienversatz ist die Anzahl der Einheiten, die der Mittelpunkt der Grundlinie des Pfeils in Richtung der Spitze verschoben wurde.
Ein Versatz von 0 ergibt keine Verschiebung (d.h. die Grundlinie ist eine Gerade, die Pfeilform sieht dadurch wie ein Dreieck aus).
Ein positiver Versatz erzeugt eine Verschiebung um diese Anzahl von Einheiten in Richtung zur Pfeilspitze (wodurch der Pfeil ein V-förmiges Aussehen erhält).
Ein negativer Versatz führt zu einer Verschiebung um diese Anzahl von Einheiten von der Pfeilspitze weg (der Pfeil hat die Form eines Drachenvierecks)
Wenn der Versatz größer oder gleich der Spitzenlänge (height) ist, wird kein Pfeil gezeichnet.
Der Versatz hat nur dann Auswirkungen auf die Pfeildarstellung, wenn der Pfeil ausgefüllt ist (siehe _GDIPlus_ArrowCapGetFillState und _GDIPlus_ArrowCapSetFillState).

Verwandte Funktionen

_GDIPlus_ArrowCapSetMiddleInset

Siehe auch

Suche nach GdipGetAdjustableArrowCapMiddleInset in der MSDN Bibliothek.

Beispiel

#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>

Example()

Func Example()
    Local $hGui, $hGraphic, $hPen, $hEndCap, $iInset

    ; Erzeugt die GUI
    $hGui = GUICreate("GDI+", 400, 330)
    GUISetState(@SW_SHOW)

    ; Erzeugt die Ressourcen
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
    $hPen = _GDIPlus_PenCreate(0xFF000000, 4)
    $hEndCap = _GDIPlus_ArrowCapCreate(8, 6)

    ; Pfeildimensionen anzeigen
    _GDIPlus_GraphicsDrawString($hGraphic, 'Pfeillänge (height) = ' & _GDIPlus_ArrowCapGetHeight($hEndCap) & _
            ' ;  Pfeilbreite (width) = ' & _GDIPlus_ArrowCapGetWidth($hEndCap), 10, 2)

    ; Zeichne Pfeil 1 (Dreiecksform)
    $iInset = 0
    _GDIPlus_GraphicsDrawString($hGraphic, 'Versatz = ' & $iInset & '   (Dreiecksform)', 10, 30)
    _GDIPlus_ArrowCapSetMiddleInset($hEndCap, $iInset)
    _GDIPlus_PenSetCustomEndCap($hPen, $hEndCap)
    _GDIPlus_GraphicsDrawLine($hGraphic, 10, 50, 390, 50, $hPen)

    ; Zeichne Pfeil 2 (kräftiger Pfeil)
    $iInset = 2
    _GDIPlus_GraphicsDrawString($hGraphic, 'Versatz = ' & $iInset & '   (Kräftiger Pfeil)', 10, 70)
    _GDIPlus_ArrowCapSetMiddleInset($hEndCap, $iInset)
    _GDIPlus_PenSetCustomEndCap($hPen, $hEndCap)
    _GDIPlus_GraphicsDrawLine($hGraphic, 10, 90, 390, 90, $hPen)

    ; Zeichne Pfeil 3 (schlanker Pfeil)
    $iInset = 5
    _GDIPlus_GraphicsDrawString($hGraphic, 'Versatz = ' & $iInset & '   (Schlanker Pfeil)', 10, 110)
    _GDIPlus_ArrowCapSetMiddleInset($hEndCap, $iInset)
    _GDIPlus_PenSetCustomEndCap($hPen, $hEndCap)
    _GDIPlus_GraphicsDrawLine($hGraphic, 10, 130, 390, 130, $hPen)

    ; Zeichne Pfeil 4 (Drachenviereck)
    $iInset = -3.5
    _GDIPlus_GraphicsDrawString($hGraphic, 'Versatz = ' & $iInset & '   (Drachenviereck)', 10, 150)
    _GDIPlus_ArrowCapSetMiddleInset($hEndCap, $iInset)
    _GDIPlus_PenSetCustomEndCap($hPen, $hEndCap)
    _GDIPlus_GraphicsDrawLine($hGraphic, 10, 170, 390, 170, $hPen)

    ; Zeichne Pfeil 5 (Diamant bzw Rhomboid)
    $iInset = -8
    _GDIPlus_GraphicsDrawString($hGraphic, 'Versatz = ' & $iInset & '   (Diamant bzw Rhomboid)', 10, 190)
    _GDIPlus_ArrowCapSetMiddleInset($hEndCap, $iInset)
    _GDIPlus_PenSetCustomEndCap($hPen, $hEndCap)
    _GDIPlus_GraphicsDrawLine($hGraphic, 10, 210, 390, 210, $hPen)

    ; Zeichne Pfeil 6 (Versatz zu groß = kein Pfeil)
    $iInset = 9
    _GDIPlus_GraphicsDrawString($hGraphic, 'Versatz = ' & $iInset & '   (Versatz zu groß = kein Pfeil)', 10, 230)
    _GDIPlus_ArrowCapSetMiddleInset($hEndCap, $iInset)
    _GDIPlus_PenSetCustomEndCap($hPen, $hEndCap)
    _GDIPlus_GraphicsDrawLine($hGraphic, 10, 250, 390, 250, $hPen)

    ; Zeichne Pfeil 7 (Pfeil nicht gefüllt)
    $iInset = 1.5
    _GDIPlus_GraphicsDrawString($hGraphic, 'Versatz = ' & $iInset & '   (FillState = False, also keine Kontur)', 10, 270)
    _GDIPlus_ArrowCapSetFillState($hEndCap, False)
    _GDIPlus_ArrowCapSetMiddleInset($hEndCap, $iInset)
    _GDIPlus_PenSetCustomEndCap($hPen, $hEndCap)
    _GDIPlus_GraphicsDrawLine($hGraphic, 10, 290, 390, 290, $hPen)

    ; Auf Schließen des GUI warten
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Ressourcen freigeben
    _GDIPlus_ArrowCapDispose($hEndCap)
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
EndFunc   ;==>Example