UDF > WinAPIEx > GDI > Line & Curve >


_WinAPI_LineTo

Dessine une ligne de la position actuelle jusqu'au point indiqué, mais sans inclure, ce point

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

Paramètres

$hDC Handle du contexte de périphérique
$iX Coordonnée X du point d'arrivée de la ligne.
$iY Coordonnée Y du point d'arrivée de la ligne.

Valeur de retour

Succès: Retourne True
Échec: Retourne False

Remarque

La ligne est tracée en utilisant le crayon actuel et, si le crayon est un crayon géométrique, le pinceau en cours.
Si LineTo réussit, la position actuelle est définie au point d'arrivée spécifié.

En relation

_WinAPI_CreatePen, _WinAPI_DrawLine, _WinAPI_MoveTo, _WinAPI_SelectObject

Voir aussi

Consultez LineTo dans la librairie MSDN.

Exemple

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

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) ; DC de tout l'écran (bureau)
    $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) ; gauche horizontal
    _WinAPI_DrawLine($hDC, $iStart_x + $iLength, $iStart_y, $iStart_x + 5, $iStart_y) ; droite horizontal
    _WinAPI_DrawLine($hDC, $iStart_x, $iStart_y - $iLength, $iStart_x, $iStart_y - 5) ; Haut vertical
    ; _WinAPI_DrawLine ($HDC, $iStart_x, $iStart_y + $iLength, $iStart_x, $iStart_y + 5); Bas vertical
    _WinAPI_MoveTo($hDC, $iStart_x, $iStart_y + $iLength)
    _WinAPI_LineTo($hDC, $iStart_x, $iStart_y + 5)

    Sleep($iTime) ; Affiche la croix sur l'écran pendant quelques secondes

    ; Rafraîchit le bureau (efface la croix)
    _WinAPI_RedrawWindow(_WinAPI_GetDesktopWindow(), 0, 0, $RDW_INVALIDATE + $RDW_ALLCHILDREN)

    ; Nettoie les ressources
    _WinAPI_SelectObject($hDC, $o_Orig)
    _WinAPI_DeleteObject($hPen)
    _WinAPI_ReleaseDC(0, $hDC)
EndFunc   ;==>ShowCross