GUICtrlCreateMenuItem
Создаёт пункт меню в GUI.
GUICtrlCreateMenuItem ( "text", menuID = -1 [, menuentry = -1 [, menuradioitem = 0 ]] )
Параметры
text | Текст элемента |
menuID |
Идентификатор меню, в котором создаётся пункт. Если -1, то создаётся в меню первого уровня. |
menuentry |
[необязательный] Позволяет установить порядковый номер созданного пункта в меню. Отсчёт начинается с 0. По умолчанию -1. |
menuradioitem |
[необязательный] 0 = (по умолчанию) создать обычный пункт меню 1 = создать пункт как переключатель (Radio) |
Возвращаемое значение
Успех: | Возвращает идентификатор (controlID) нового элемента. |
Ошибка: | Возвращает 0. |
Примечания
Чтобы установить или изменить параметры элемента смотрите GUICtrlUpdate....См. также
GUICtrlUpdate..., GUIGetMsg, GUICtrlCreateMenu, GUICtrlCreateContextMenuПример
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
Local $iFileMenu, $iFileItem, $sFilePath, $iStatusBar
Local $iHelpMenu, $iInfoItem, $iExit, $iRecentFilesMenu, $hGui
Local $iViewMenu, $iViewStatusItem, $iStyleitem, $iCancel, $iBtnOK
Local $iRadioitem1, $iRadioitem2, $iRadioitem3, $iRadioitem4
$hGui = GUICreate("Элемент меню в GUI", 300, 200)
$iFileMenu = GUICtrlCreateMenu("&Файл")
$iFileItem = GUICtrlCreateMenuItem("Открыть", $iFileMenu)
GUICtrlSetState(-1, $GUI_DEFBUTTON)
$iHelpMenu = GUICtrlCreateMenu("?")
GUICtrlCreateMenuItem("Сохранить", $iFileMenu)
GUICtrlSetState(-1, $GUI_DISABLE)
$iInfoItem = GUICtrlCreateMenuItem("Информация", $iHelpMenu)
$iExit = GUICtrlCreateMenuItem("Выход", $iFileMenu)
$iRecentFilesMenu = GUICtrlCreateMenu("Последние файлы", $iFileMenu, 1)
GUICtrlCreateMenuItem("", $iFileMenu, 2) ; создаёт разделительную линию
$iViewMenu = GUICtrlCreateMenu("Вид", -1, 1) ; Создан до элемента меню "?"
$iViewStatusItem = GUICtrlCreateMenuItem("Строка состояния", $iViewMenu)
GUICtrlSetState(-1, $GUI_CHECKED)
$iStyleitem = GUICtrlCreateMenuItem("Стиль GUI POPUP", $iViewMenu)
GUICtrlCreateMenuItem("", $iViewMenu)
$iRadioitem1 = GUICtrlCreateMenuItem("Радио1", $iViewMenu, -1, 1)
$iRadioitem2 = GUICtrlCreateMenuItem("Радио2", $iViewMenu, -1, 1)
$iRadioitem3 = GUICtrlCreateMenuItem("Радио3", $iViewMenu, -1, 1)
GUICtrlSetState(-1, $GUI_CHECKED)
$iRadioitem4 = GUICtrlCreateMenuItem("Радио4", $iViewMenu, -1, 1)
$iBtnOK = GUICtrlCreateButton("OK", 60, 120, 80, 25)
GUICtrlSetState(-1, $GUI_FOCUS)
$iCancel = GUICtrlCreateButton("Отмена", 160, 120, 80, 25)
$iStatusBar = GUICtrlCreateLabel('Строка состояния', 0, 165, 300, 16, BitOR($SS_SIMPLE, $SS_SUNKEN))
GUISetState()
While 1
Switch GUIGetMsg()
Case $iFileItem
$sFilePath = FileOpenDialog("Выберите файл...", @TempDir, "Все (*.*)", 3, '', $hGui)
If Not @error Then GUICtrlCreateMenuItem($sFilePath, $iRecentFilesMenu)
Case $iViewStatusItem ; Событие при клике на пункте меню "Строка состояния"
If BitAND(GUICtrlRead($iViewStatusItem), $GUI_CHECKED) = $GUI_CHECKED Then ; Если галочка в наличии, тогда
GUICtrlSetState($iViewStatusItem, $GUI_UNCHECKED) ; Убирает галочку
GUICtrlSetState($iStatusBar, $GUI_HIDE) ; Скрывает строку состояния
Else ; Иначе
GUICtrlSetState($iViewStatusItem, $GUI_CHECKED) ; Ставит галочку
GUICtrlSetState($iStatusBar, $GUI_SHOW) ; Показывает строку состояния
EndIf
Case $iStyleitem
If BitAND(GUICtrlRead($iStyleitem), $GUI_CHECKED) = $GUI_CHECKED Then
GUICtrlSetState($iStyleitem, $GUI_UNCHECKED)
GUISetStyle($GUI_SS_DEFAULT_GUI)
Else
GUICtrlSetState($iStyleitem, $GUI_CHECKED)
GUISetStyle(BitOR($WS_BORDER, $WS_POPUP, $WS_SYSMENU))
EndIf
Case $iInfoItem
MsgBox(64, "Информация", "Изменение цвета меню смотрите в примере GUICtrlGetHandle", 0, $hGui)
Case $GUI_EVENT_CLOSE, $iCancel, $iExit
ExitLoop
EndSwitch
WEnd
GUIDelete()