Crée un contrôle Menu pour une GUI.
GUICtrlCreateMenu ( "submenutext" [, menuID = -1 [, menuentry = -1]] )
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. |
Succès: | Retourne l'ID du nouveau contrôle. |
Échec: | Retourne 0. |
GUICtrlCreateContextMenu, GUICtrlCreateMenuItem, GUICtrlGetHandle, GUICtrlSetState, GUIGetMsg
#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