Functions > GUI > GUICtrlCreate >


GUICtrlCreateGraphic

Crée un contrôle graphique -Graphic- dans une GUI.

GUICtrlCreateGraphic ( left, top [, width [, height [, style]]] )

Paramètres

left Coordonnée X du coin supérieur gauche du contrôle. Si vous utilisez -1, X sera calculée en accord avec GUICoordMode.
top Coordonnée Y du coin supérieur gauche du contrôle. Si vous utilisez -1, Y sera calculée en accord avec GUICoordMode.
width [optionnel] Largeur du contrôle (par défaut, la largeur utilisée précédemment).
height [optionnel] Hauteur du contrôle (par défaut, la hauteur utilisée précédemment).
style [optionnel] Définit le style du contrôle. Consultez l'Annexe de styles de contrôle GUI.
    Par défaut (-1) : $SS_NOTIFY.

Valeur de retour

Succès: Retourne l'identifiant (controlID) du nouveau contrôle.
Échec: Retourne 0.

Remarques

Pour dessiner dans le contrôle, consultez GUICtrlSetGraphic.

La couleur du contour et la couleur de fond peuvent être définies avec GUICtrlSetBkColor() et GUICtrlSetColor().

Le contrôle graphique peut être cliqué donc il ne devrait pas recouvrir d'autres contrôles. Si le recouvrement est nécessaire, il est important de désactiver le contrôle graphique: GUICtrlSetState(-1, $GUI_DISABLE).

Ce contrôle ne peut pas être redimensionné en raison d'une correction relative à l'adressage lors de sa création, mais il peut être attaché avec GUICtrlSetResizing().

En relation

GUICoordMode (Option), GUICtrlDelete, GUICtrlSetBkColor, GUICtrlSetColor, GUICtrlSetGraphic, GUICtrlSetResizing, GUICtrlSetStyle, GUIGetMsg

Exemple

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <StaticConstants.au3>

Global Const $g_MAXGr = 6
Global $g_a_idArray[$g_MAXGr + 1] ; 0 et les entrées $g_MAXGr ne sont pas utilisés pour permettre le résultat de GUICtrlDelete
Global $g_idDel

Example()

Func Example()
    Local $idMsg, $iInc, $i

    CreateChild()

    $i = 1
    $iInc = 1
    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
        $idMsg = GUIGetMsg()

        If $idMsg = $g_idDel Then
            GUICtrlDelete($g_a_idArray[$i])
            $i = $i + $iInc
            If $i < 0 Or $i > $g_MAXGr Then Exit
        EndIf
        If $idMsg > 0 Then MsgBox($MB_SYSTEMMODAL, "cliqué", $idMsg & @CRLF & $g_a_idArray[5], 2)
    Until $idMsg = $GUI_EVENT_CLOSE

EndFunc   ;==>Example

Func CreateChild()
    GUICreate("My Draw")
    $g_idDel = GUICtrlCreateButton("Delete", 50, 165, 50)

    $g_a_idArray[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_a_idArray[2] = GUICtrlCreateGraphic(220, 50, 100, 100)
    GUICtrlSetStyle(-1, $SS_NOTIFY)
    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_a_idArray[3] = GUICtrlCreateGraphic(220, 150, 100, 100, 0)
    GUICtrlSetBkColor(-1, 0xf08080)
    GUICtrlSetColor(-1, 0xff)
    GUICtrlSetGraphic(-1, $GUI_GR_COLOR, 0xff00)
    GUICtrlSetGraphic(-1, $GUI_GR_RECT, 50, 50, 80, 80)

    $g_a_idArray[4] = GUICtrlCreateGraphic(20, 200, 80, 80)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlSetBkColor(-1, 0xffffff)
    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_a_idArray[5] = GUICtrlCreateGraphic(150, 10, 50, 50, 0)
    GUICtrlSetBkColor(-1, 0xa0ffa0)
    GUICtrlSetGraphic(-1, $GUI_GR_MOVE, 20, 20) ; le point de départ
    ; Il est préférable de tracer une ligne et après le point
    ; pour éviter de permuter 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, 40, 40)

    GUISetState(@SW_SHOW)
EndFunc   ;==>CreateChild