Funktionreferenz


_WinAPI_LineTo

Beschreibung anzeigen in

Zeichnet eine Linie von der aktuellen Position bis zum angegebenen Punkt, aber ohne den Punkt selbst

#include <WinAPIGdi.au3>
_WinAPI_LineTo ( $hDC, $iX, $iY )

Parameter

$hDC Handle zu dem Gerätekontext
$iX X-Koordinate der neuen Position.
$iY Y-Koordinate der neuen Position.

Rückgabewert

Erfolg: True
Fehler: False

Bemerkungen

Die Linie wird durch den aktuellen Zeichenstift gezeichnet. Falls der Stift ein geometrischer Stift ist, wird das aktuelle Füllmuster verwendet.
Falls LineTo erfolgreich war, wird die aktuelle Position an den festgelegten Endpunkt gelegt.

Verwandte Funktionen

_WinAPI_CreatePen, _WinAPI_DrawLine, _WinAPI_MoveTo, _WinAPI_SelectObject

Siehe auch

Suche nach LineTo in der MSDN Bibliothek.

Beispiel

#include <WinAPIGdi.au3>
#include <WinAPIGdiDC.au3>
#include <WinAPIHObj.au3>
#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>

If Not @Compiled Then Exit MsgBox($MB_ICONWARNING, "_WinAPI_CreatePen Beispielskript", _
        "Wenn das Skript von SciTE aus ausgeführt wird, funktioniert es nicht richtig, weil SciTE den Bildschirm aktualisiert. Daher wird das Kreuz nicht vollständig gezeichnet und verschwindet in einem Sekundenbruchteil!" & _
        @CRLF & @CRLF & "Bitte das Skript kompilieren und die Exe ausführen.")

ShowCross(@DesktopWidth / 2, @DesktopHeight / 2, 20, 2, 0xFF, 3000)

Func ShowCross($iStart_x, $iStart_y, $iLength, $iWidth, $iColor, $iTime)
    Local $hDC, $hPen, $o_Orig

    $hDC = _WinAPI_GetWindowDC(0) ; Gerätekontext (DC) des gesamten Bildschirms (Desktop)
    $hPen = _WinAPI_CreatePen($PS_SOLID, $iWidth, $iColor)
    $o_Orig = _WinAPI_SelectObject($hDC, $hPen)

    _WinAPI_DrawLine($hDC, $iStart_x - $iLength, $iStart_y, $iStart_x - 5, $iStart_y) ; Horizontal links
    _WinAPI_DrawLine($hDC, $iStart_x + $iLength, $iStart_y, $iStart_x + 5, $iStart_y) ; Horizontal rechts
    _WinAPI_DrawLine($hDC, $iStart_x, $iStart_y - $iLength, $iStart_x, $iStart_y - 5) ; Vertikal oben
    ; _WinAPI_DrawLine($hDC, $iStart_x, $iStart_y + $iLength, $iStart_x, $iStart_y + 5) ;  Vertikal unten
    _WinAPI_MoveTo($hDC, $iStart_x, $iStart_y + $iLength)
    _WinAPI_LineTo($hDC, $iStart_x, $iStart_y + 5)

    Sleep($iTime) ; Zeigt das Kreuz für die im Funktionsaufruf angegebene Zeit (in ms)

    ; Desktop neu zeichnen (lösche das Kreuz)
    _WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)

    ; Ressourcen freigeben
    _WinAPI_SelectObject($hDC, $o_Orig)
    _WinAPI_DeleteObject($hPen)
    _WinAPI_ReleaseDC(0, $hDC)
EndFunc   ;==>ShowCross