Functions > GUI > GUICtrlCreate >


GUICtrlCreateMenuItem

Crée un contrôle -MenuItem- représentant un élément de menu.

GUICtrlCreateMenuItem ( "text", menuID [, menuentry = -1 [, menuradioitem = 0]] )

Paramètres

text Le texte du contrôle.
menuID Vous permet de créer un sous-menu dans le menu référencé. Si cette valeur est égale à -1, le sous-menu 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.
menuradioitem [optionnel] 0 (par défaut) = crée un élément de menu normal, 1 = crée un menuradioitem

Valeur de retour

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

Remarques

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

Si le paramètre Text est "", alors une ligne de séparation est créée. GUICtrlSetState() peut être utilisé comme pour les autres contrôles. Consultez l'exemple.

En relation

GUICtrlCreateContextMenu, GUICtrlCreateMenu, GUICtrlUpdate..., GUIGetMsg

Exemple

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

Example()

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

    Local $sStatus = "Ready"

    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 $idExit = 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) ; Est créé avant "?" menu
    Local $idViewStatusItem = GUICtrlCreateMenuItem("Statusbar", $idViewMenu)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlCreateButton("OK", 50, 130, 70, 20)
    GUICtrlSetState(-1, $GUI_FOCUS)
    Local $idCancel = GUICtrlCreateButton("Cancel", 180, 130, 70, 20)

    Local $idStatusLabel = GUICtrlCreateLabel($sStatus, 0, 165, 300, 16, BitOR($SS_SIMPLE, $SS_SUNKEN))

    GUISetState(@SW_SHOW)

    Local $sFilePath, $idMsg = GUIGetMsg()
    ; Boucle jusqu'à ce que l'utilisateur quitte.
    While ($idMsg <> $GUI_EVENT_CLOSE) And ($idMsg <> $idCancel) And ($idMsg <> $idExit)
        Switch $idMsg
            Case $idInfoItem
                MsgBox($MB_SYSTEMMODAL, "Info", "Only a test...")

            Case $idFileItem
                $sFilePath = FileOpenDialog("Choose a file...", @TempDir, "All (*.*)")
                If @error Then
                    ContinueLoop
                EndIf
                GUICtrlCreateMenuItem($sFilePath, $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
        EndSwitch
        $idMsg = GUIGetMsg()
    WEnd
EndFunc   ;==>Example