Dessine des formes dans un contr�le graphique.
GUICtrlSetGraphic ( controlID, type [, par1 [, ... par6]] )
controlID | L'ID du contr�le tel que retourn� par la fonction GUICtrlCreateGraphic(). |
type | Type de trac� : point, ligne, B�zier, rectangle, ellipse, arc de cercle. (Voir Remarques) |
par1...par6 | Voir la Table des types graphiques ci-dessous. |
Succ�s: | Retourne 1. |
�chec: | Retourne 0. -1 En cas de donn�es non valides |
Type | Param�tres | R�sultat |
---|---|---|
$GUI_GR_COLOR | Color [, BkColor] | D�finit la couleur des prochains dessins. Lorsque BkColor est �gale � $GUI_GR_NOBKCOLOR le dessin ne sera pas remplie. C'est la valeur par d�faut. Pour Color la couleur de ligne par d�faut est noir. |
$GUI_GR_MOVE | x,y | D�place le curseur graphique � une position sans laisser de trace. |
$GUI_GR_DOT | x,y | Trace un point (petit carr� autour du point), le prochain trac� d�marrera de cette position. |
$GUI_GR_PIXEL | x,y | Dessine un pixel (petite croix), le prochain trac� d�marrera de cette position. |
$GUI_GR_LINE | x,y | Trace une ligne de la position courante du curseur graphique � la position indiqu�e. |
$GUI_GR_BEZIER | x,y,x1,y1,x2,y2 | Trace une courbe de B�zier avec 2 points de contr�le. |
$GUI_GR_RECT | x,y,w,h | Trace un rectangle. Si w = h, ce sera un carr�. |
$GUI_GR_ELLIPSE | x,y,w,h | Trace une ellipse. Si w = h, ce sera un cercle. |
$GUI_GR_PIE | x,y,r,sa,wa | Trace un secteur angulaire: rayon=r startAngle=sa sweepangle=wa. Les angles sont en degr�s. |
$GUI_GR_CLOSE | Pour fermer un trac� en cours, doit �tre ajout� � $GUI_GR_LINE ou $GUI_GR_BEZIER. Utilis� seul, il sera ignor�. | |
$GUI_GR_REFRESH | Pour forcer le rafraichissemenet apr�s une mise � jour dynamique de graphiques. | |
$GUI_GR_HINT | Pour afficher le point de contr�le et le point de terminaison d'une courbe de B�zier ou d'une ligne. | |
$GUI_GR_PENSIZE | n | D�finit la taille du crayon pour les prochains trac�s. Elle doit �tre d�finie avant $GUI_GR_COLOR pour �tre prise en compte. |
$GUI_GR_NOBKCOLOR | C'est une couleur de fond factice pour forcer un trac� � se fermer sans se remplir. Seulement pour les trac�s de ligne. |
#include <GUIConstantsEx.au3> #include <StaticConstants.au3> Global Const $g_MAXGr = 6 Global $g_aidGraphics[$g_MAXGr + 1] ; 0 et les entr�es $g_MAXGr ne sont pas utilis�s pour permettre GUICtrlDelete Global $g_idDel, $g_hChild Example() Func Example() Local $idMsg, $iInc, $i GUICreate("My Main", -1, -1, 100, 100) Local $idDel1 = GUICtrlCreateButton("ReCreate", 50, 200, 50) GUISetState(@SW_SHOW) CreateChild() $i = 1 $iInc = 1 ;$i = 5 ; d�commenter pour supprimer le d�marrage � partir du dernier contr�le graphique d�fini ;$iInc = -1 Do $idMsg = GUIGetMsg() If $idMsg = $idDel1 Then $i = Create($iInc) If $idMsg = $g_idDel Then GUICtrlDelete($g_aidGraphics[$i]) $i = $i + $iInc If $i < 0 Or $i > $g_MAXGr Then Exit EndIf Until $idMsg = $GUI_EVENT_CLOSE EndFunc ;==>Example Func Create($iInc) GUIDelete($g_hChild) CreateChild() If $iInc = -1 Then Return 5 Return 1 EndFunc ;==>Create Func CreateChild() $g_hChild = GUICreate("My Draw") $g_idDel = GUICtrlCreateButton("Delete", 50, 165, 50) $g_aidGraphics[1] = GUICtrlCreateGraphic(20, 50, 100, 100) GUICtrlSetBkColor(-1, 0xffffff) GUICtrlSetColor(-1, 0) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff0000, 0xff0000) GUICtrlSetGraphic(-1, $GUI_GR_PIE, 50, 50, 40, 30, 270) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x00ff00, 0xffffff) GUICtrlSetGraphic(-1, $GUI_GR_PIE, 58, 50, 40, -60, 90) GUICtrlSetGraphic(-1, $GUI_GR_ELLIPSE, 100, 100, 50, 80) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x00ff00, 0xc0c0ff) GUICtrlSetGraphic(-1, $GUI_GR_RECT, 350, 200, 50, 80) GUICtrlCreateLabel("label", 65, 100, 30) GUICtrlSetColor(-1, 0xff) $g_aidGraphics[2] = GUICtrlCreateGraphic(220, 10, 100, 100) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff) GUICtrlSetGraphic(-1, $GUI_GR_PIE, 50, 50, 40, 30, 270) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x00ff00, 0xffffff) GUICtrlSetGraphic(-1, $GUI_GR_PIE, 58, 50, 40, -60, 90) $g_aidGraphics[3] = GUICtrlCreateGraphic(220, 110, 100, 100) GUICtrlSetBkColor(-1, 0xf08080) GUICtrlSetColor(-1, 0xff) GUICtrlSetGraphic(-1, $GUI_GR_HINT, 1) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff00) GUICtrlSetGraphic(-1, $GUI_GR_RECT, 50, 50, 80, 80) $g_aidGraphics[4] = GUICtrlCreateGraphic(20, 200, 80, 80) GUICtrlSetBkColor(-1, 0xffffff) GUICtrlSetGraphic(-1, $GUI_GR_HINT, 1) GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 10, 10) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff) GUICtrlSetGraphic(-1, $GUI_GR_LINE, 30, 40) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff00) GUICtrlSetGraphic(-1, $GUI_GR_LINE, 70, 70) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff0000) GUICtrlSetGraphic(-1, $GUI_GR_LINE, 10, 50) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xffff00) GUICtrlSetGraphic(-1, $GUI_GR_LINE, 10, 10) $g_aidGraphics[5] = GUICtrlCreateGraphic(150, 10, 50, 50) GUICtrlSetBkColor(-1, 0xa0ffa0) GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 20, 20) ;le point de d�part ; il est pr�f�rable de tracer la ligne et apr�s le point ; pour �viter de basculer la couleur � chaque dessin GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0x0000ff) GUICtrlSetGraphic(-1, $GUI_GR_DOT, 30, 30) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0) GUICtrlSetGraphic(-1, $GUI_GR_LINE, 20, 40) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff0000) GUICtrlSetGraphic(-1, $GUI_GR_DOT, 25, 25) GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0) GUICtrlSetGraphic(-1, $GUI_GR_LINE, 40, 40) GUICtrlSetGraphic(-1, $GUI_GR_DOT, 30, 40) $g_aidGraphics[6] = GUICtrlCreateGraphic(110, 260, 230, 130) GUICtrlSetColor(-1, 0) ; affiche une ligne de bordure noire GUICtrlSetBkColor(-1, 0xc0c0ff) GUICtrlSetGraphic(-1, $GUI_GR_HINT, 3) ; affiche les lignes du contr�le et les points d'extr�mit� GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0, 0xff); remplir en bleu GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 120, 20) ; le point de d�part GUICtrlSetGraphic(-1, $GUI_GR_BEZIER, 120, 100, 200, 20, 200, 100) GUICtrlSetGraphic(-1, $GUI_GR_BEZIER + $GUI_GR_CLOSE, 100, 40, 40, 100, 40, 20) GUICtrlSetGraphic(-1, $GUI_GR_LINE, 60, 30) ;le point de d�part GUISetState(@SW_SHOW) EndFunc ;==>CreateChild