UDF > WinAPIEx > GDI > Brush & Pen >


_WinAPI_CreatePen

Cr�e un stylo logique qui a le style, la largeur et la couleur donn�s

#include <WinAPIGdi.au3>
_WinAPI_CreatePen ( $iPenStyle, $iWidth, $iColor )

Param�tres

$iPenStyle Indique le style de crayon. Peut prendre l'une quelconque des valeurs suivantes.
PS_SOLID - Le sylo dessine une ligne continue.
PS_DASH - Le stylo dessine des tirets. Ce style est valide uniquement lorsque la largeur du stylo est un ou moins dans les unit�s du p�riph�rique.
PS_DOT - Le stylo dessine des pointill�s. Ce style est valide uniquement lorsque la largeur du stylo est un ou moins dans les unit�s du p�riph�rique.
PS_DASHDOT - Le stylo dessine une alternance de tirets et de points. Ce style est valide uniquement lorsque la largeur du stylo est un ou moins dans les unit�s du p�riph�rique.
PS_DASHDOTDOT - Le stylo dessine une alternance de tirets et de points doubles. Ce style est valide uniquement lorsque la largeur du stylo est un ou moins dans les unit�s du p�riph�rique.
PS_NULL - Le stylo dessine une ligne invisible.
PS_INSIDEFRAME - Le stylo est solide. Lorsque ce stylo est utilis� dans une fonction de dessin GDI qui prend un rectangle de d�limitation, les dimensions de la figure sont r�duites de sorte qu'il s'adapte enti�rement dans le rectangle de d�limitation, en tenant compte de la largeur du stylo. Cela s'applique uniquement aux stylos g�om�triques.
$iWidth Indique la largeur du stylo, en unit�s logiques.
$iColor Indique la couleur du stylo (BGR)

Valeur de retour

Succ�s: Retourne une valeur HPEN qui identifie un stylo logique
�chec: Retourne 0

Remarques

Le stylo peut ensuite �tre s�lectionn�e dans un contexte de p�riph�rique et �tre utilis� pour dessiner des lignes et des courbes.
Apr�s qu'une application a cr�� un stylo logique, elle peut choisir ce stylo dans un contexte de p�riph�rique en appelant la fonction _WinAPI_SelectObject(). Apr�s qu'un stylo soit s�lectionn� dans un contexte de p�riph�rique, il peut �tre utilis� pour tracer des lignes et des courbes.
Si la valeur sp�cifi�e par le param�tre $iWidth est z�ro, une ligne trac�e avec ce stylo cr�� est toujours d'un seul pixel de large, ind�pendamment de la transformation en cours.
Si la valeur sp�cifi�e par $iWidth est sup�rieur � 1, le param�tre $iPenStyle doit �tre PS_NULL, PS_SOLID, ou PS_INSIDEFRAME.
Lorsque vous n'avez plus besoin du stylo, appelez la fonction DeleteObject pour le supprimer.

En relation

_WinAPI_DeleteObject, _WinAPI_DrawLine, _WinAPI_GetBkMode, _WinAPI_LineTo, _WinAPI_MoveTo, _WinAPI_SelectObject, _WinAPI_SetBkMode

Voir aussi

Consultez CreatePen 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