Dessine une ligne de la position actuelle jusqu'au point indiqué, mais sans inclure, ce point
#include <WinAPIGdi.au3>
_WinAPI_LineTo ( $hDC, $iX, $iY )
$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. |
Succès: | Retourne True |
Échec: | Retourne False |
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é.
_WinAPI_CreatePen, _WinAPI_DrawLine, _WinAPI_MoveTo, _WinAPI_SelectObject
Consultez LineTo dans la librairie MSDN.
#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