Insère un nouvel élément de menu à la position spécifiée dans un menu
#include <GuiMenu.au3>
_GUICtrlMenu_InsertMenuItemEx ( $hMenu, $iIndex, ByRef $tMenu [, $bByPos = True] )
$hMenu | Handle du contrôle Menu |
$iIndex | Position de l'élément de menu avant lequel insérer le nouvel élément |
$tMenu | Structure $tagMenuItemINFO |
$bByPos | [optionnel] Indicateur d'identifiant de menu: True - $iIndex est la position de base 0 de l'élément False - $iIndex est l'identifiant d'un élément de menu |
Succès: | Retourne True. |
Échec: | Retourne False. |
$tagMenuItemINFO, _GUICtrlMenu_InsertMenuItem
Consultez InsertMenuItem dans la librairie MSDN.
#include <GUIConstantsEx.au3> #include <GuiMenu.au3> Example() Func Example() Local $hGUI, $hFile, $hEdit, $hHelp, $hMain Local Enum $e_idNew = 1000, $e_idOpen, $e_idSave, $e_idExit, $e_idCut, $e_idCopy, $e_idPaste, $e_idAbout ; Crée une GUI $hGUI = GUICreate("Menu", 400, 300) ; Crée un menu File $hFile = _GUICtrlMenu_CreateMenu() Insertitem($hFile, 0, "&New", $e_idNew) Insertitem($hFile, 1, "&Open", $e_idOpen) Insertitem($hFile, 2, "&Save", $e_idSave) Insertitem($hFile, 3, "", 0) Insertitem($hFile, 4, "E&xit", $e_idExit) ; Crée un menu Edit $hEdit = _GUICtrlMenu_CreateMenu() Insertitem($hEdit, 0, "&Cut", $e_idCut) Insertitem($hEdit, 1, "C&opy", $e_idCopy) Insertitem($hEdit, 2, "&Paste", $e_idPaste) ; Crée un menu Help $hHelp = _GUICtrlMenu_CreateMenu() Insertitem($hHelp, 0, "&About", $e_idAbout) ; Crée un menu Main $hMain = _GUICtrlMenu_CreateMenu() Insertitem($hMain, 0, "&File", 0, $hFile) Insertitem($hMain, 1, "&Edit", 0, $hEdit) Insertitem($hMain, 2, "&Help", 0, $hHelp) ; Attache le menu à la fenêtre _GUICtrlMenu_SetMenu($hGUI, $hMain) GUISetState(@SW_SHOW) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE EndFunc ;==>Example ; Onsère un élément de menu (façon hard) Func InsertItem($hMenu, $iIndex, $sText, $iCmdID = 0, $hSubMenu = 0) Local $tMenu, $tText $tMenu = DllStructCreate($tagMenuItemINFO) DllStructSetData($tMenu, "Size", DllStructGetSize($tMenu)) DllStructSetData($tMenu, "Mask", BitOR($MIIM_ID, $MIIM_STRING, $MIIM_SUBMENU)) DllStructSetData($tMenu, "ID", $iCmdID) DllStructSetData($tMenu, "SubMenu", $hSubMenu) If $sText = "" Then DllStructSetData($tMenu, "Mask", $MIIM_FTYPE) DllStructSetData($tMenu, "Type", $MFT_SEPARATOR) Else DllStructSetData($tMenu, "Mask", BitOR($MIIM_ID, $MIIM_STRING, $MIIM_SUBMENU)) $tText = DllStructCreate("wchar Text[" & StringLen($sText) + 1 & "]") DllStructSetData($tText, "Text", $sText) DllStructSetData($tMenu, "TypeData", DllStructGetPtr($tText)) EndIf _GUICtrlMenu_InsertMenuItemEx($hMenu, $iIndex, $tMenu) EndFunc ;==>InsertItem