Functions > GUI > GUICtrlCreate >


GUICtrlCreateMenu

Crée un contrôle Menu pour une GUI.

GUICtrlCreateMenu ( "submenutext" [, menuID = -1 [, menuentry = -1]] )

Paramètres

submenutext Le texte du sous-menu.
menuID [optionnel] Si défini, vous permet de créer un sous-menu dans le menu référencé. Si égal à -1, il se réfère au premier niveau du menu.
menuentry [optionnel] Vous permet de définir le nombre d'entrée à créer. Les entrées sont numérotées à partir de 0.

Valeur de retour

Succès: Retourne l'ID du nouveau contrôle.
Échec: Retourne 0.

Remarque

Pour définir ou modifier des informations dans le contrôle, consultez les fonctions GUICtrlUpdate...().

En relation

GUICtrlCreateContextMenu, GUICtrlCreateMenuItem, GUICtrlGetHandle, GUICtrlSetState, GUIGetMsg

Exemple

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

Example()

Func Example()
    Local $sDefaultstatus = "Ready"

    GUICreate("My GUI menu", 300, 200)

    Local $idFilemenu = GUICtrlCreateMenu("&File")
    Local $idFileitem = GUICtrlCreateMenuItem("Open", $idFilemenu)
    GUICtrlSetState(-1, $GUI_DEFBUTTON)
    Local $idHelpmenu = GUICtrlCreateMenu("?")
    GUICtrlCreateMenuItem("Save", $idFilemenu)
    GUICtrlSetState(-1, $GUI_DISABLE)
    Local $idInfoitem = GUICtrlCreateMenuItem("Info", $idHelpmenu)
    Local $idExititem = GUICtrlCreateMenuItem("Exit", $idFilemenu)
    Local $idRecentfilesmenu = GUICtrlCreateMenu("Recent Files", $idFilemenu, 1)

    GUICtrlCreateMenuItem("", $idFilemenu, 2) ; Crée une ligne de séparation

    Local $idViewmenu = GUICtrlCreateMenu("View", -1, 1) ; le menu est créé avant "?"
    Local $idViewstatusitem = GUICtrlCreateMenuItem("Statusbar", $idViewmenu)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateButton("OK", 50, 130, 70, 20)
    GUICtrlSetState(-1, $GUI_FOCUS)
    Local $idCancelbutton = GUICtrlCreateButton("Cancel", 180, 130, 70, 20)

    Local $idStatuslabel = GUICtrlCreateLabel($sDefaultstatus, 0, 165, 300, 16, BitOR($SS_SIMPLE, $SS_SUNKEN))

    GUISetState(@SW_SHOW)

    Local $sFile, $idMsg = GUIGetMsg()
    ; Boucle jusqu'à ce que l'utilisateur quitte.
    While ($idMsg <> $GUI_EVENT_CLOSE) And ($idMsg <> $idCancelbutton) And ($idMsg <> $idExititem)
        Switch $idMsg
            Case $idFileitem
                $sFile = FileOpenDialog("Choose file...", @TempDir, "All (*.*)")
                If @error <> 1 Then GUICtrlCreateMenuItem($sFile, $idRecentfilesmenu)
            Case $idViewstatusitem
                If BitAND(GUICtrlRead($idViewstatusitem), $GUI_CHECKED) = $GUI_CHECKED Then
                    GUICtrlSetState($idViewstatusitem, $GUI_UNCHECKED)
                    GUICtrlSetState($idStatuslabel, $GUI_HIDE)
                Else
                    GUICtrlSetState($idViewstatusitem, $GUI_CHECKED)
                    GUICtrlSetState($idStatuslabel, $GUI_SHOW)
                EndIf
            Case $idInfoitem
                MsgBox($MB_SYSTEMMODAL, "Info", "Only a test...")
        EndSwitch
        $idMsg = GUIGetMsg()
    WEnd
    GUIDelete()
EndFunc   ;==>Example