Функция _GUICtrlMenu_AppendMenu

         Описание функции


_GUICtrlMenu_AppendMenu

Добавляет новый пункт в конец указанного главного меню, выпадающего меню, подменю или контекстного меню

#include <GuiMenu.au3>
_GUICtrlMenu_AppendMenu($hMenu, $iFlags, $iNewItem, $pNewItem)

Параметры

$hMenu Дескриптор меню
$iFlags Specifies flags to control the appearance and behavior of the new menu item:
    $MF_BITMAP - Uses a bitmap as the menu item
    $MF_CHECKED - Устанавливает галочку рядом с пунктом меню. Если приложение предоставляет галочку в виде bitmap, то флаг отображает галочку в виде bitmap рядом с пунктом меню.
    $MF_DISABLED - Отключает пункт меню и он не может быть выбран, но флаг не делает его серым.
    $MF_ENABLED - Enables the menu item so that it can be selected, and restores it from its grayed state.
    $MF_GRAYED - Disables the menu item and grays it so that it cannot be selected.
    $MF_MENUBARBREAK - Functions the same as $MF_MENUBREAK for a menu bar. For a drop down menu, submenu, or shortcut menu, the new column is separated from the old column by a vertical line.
    $MF_MENUBREAK - Places the item on a new line (for a menu bar) or in a new column (for a drop down menu, submenu, or shortcut menu) without separating columns.
    $MF_OWNERDRAW - Specifies that the item is an owner drawn item. Before the menu is displayed for the first time, the window that owns the menu receives a $WM_MEASUREITEM message to retrieve the width and height of the menu item. The $WM_DRAWITEM message is then sent to the window procedure of the owner window whenever the appearance of the menu item must be updated.
    $MF_POPUP - Specifies that the menu item opens a drop down menu or submenu. The iNewItem parameter specifies a handle to the drop down menu or submenu. This flag is used to add a menu name to a menu bar, or a menu item that opens a submenu to a drop down menu, submenu, or shortcut menu.
    $MF_SEPARATOR - Рисует горизонтальную разделительную линию. Этот флаг используется только в раскрывающемся меню, подменю или контекстное меню. Линия не может быть серой, отключенной или выделенной. Параметры pNewItem и iNewItem игнорируются.
    $MF_STRING - Указывает, что пункт меню является текстовой строкой. Параметр pNewItem является строкой.
    $MF_UNCHECKED - Не устанавливает галочку рядом с пунктом. Если приложение предоставляет галочку в виде bitmap, то флаг отображает очищенный bitmap рядом с пунктом меню.
$iNewItem Specifies either the identifier of the new menu item or, if the $iFlags parameter is set to a popup, a handle to the drop down menu or submenu.
$pNewItem Определяет содержание нового пункта меню. Интерпретация параметра $pNewItem зависит от того, включает ли в себя параметр $iFlags флаги $MF_BITMAP, $MF_OWNERDRAW или $MF_STRING:
    $MF_BITMAP - Содержит дескриптор bitmap
    $MF_OWNERDRAW - Contains an application supplied value that can be used to maintain additional data related to the menu item. The value is in the ItemData member of the structure pointed to by the lParam parameter of the $WM_MEASUREITEM or $WM_DRAWITEM message sent when the menu is created or its appearance is updated.
    $MF_STRING - Содержит строку

Возвращаемое значение

Успех:Возвращает True
Ошибка:Возвращает False

См. также

_GUICtrlMenu_InsertMenuItem

См. также

Искать AppendMenu в библиотеке MSDN

Пример

#include <GuiMenu.au3>
#include <GUIConstantsEx.au3>

_Main()

Func _Main()
    Local $hGUI, $hFile, $hEdit, $hHelp, $hMain
    Local Enum $idNew = 1000, $idOpen, $idSave, $idExit, $idCut, $idCopy, $idPaste, $idAbout

    ; Создаёт GUI
    $hGUI = GUICreate("Добавляет пункт", 400, 300)

    ; Создаёт меню "Файл"
    $hFile = _GUICtrlMenu_CreateMenu ()
    _GUICtrlMenu_InsertMenuItem ($hFile, 0, 'Новый', $idNew)
    _GUICtrlMenu_InsertMenuItem ($hFile, 1, 'Открыть', $idOpen)
    _GUICtrlMenu_InsertMenuItem ($hFile, 2, 'Сохранить', $idSave)
    _GUICtrlMenu_InsertMenuItem ($hFile, 3, "", 0)
    _GUICtrlMenu_InsertMenuItem ($hFile, 4, 'Выход', $idExit)

    ; Создаёт меню "Правка"
    $hEdit = _GUICtrlMenu_CreateMenu ()
    _GUICtrlMenu_InsertMenuItem ($hEdit, 0, 'Вырезать', $idCut)
    _GUICtrlMenu_InsertMenuItem ($hEdit, 1, 'Копировать', $idCopy)
    _GUICtrlMenu_InsertMenuItem ($hEdit, 2, 'Вставить', $idPaste)

    ; Создаёт меню "Справка"
    $hHelp = _GUICtrlMenu_CreateMenu ()

    ; Создаёт главное меню
    $hMain = _GUICtrlMenu_CreateMenu ()
    _GUICtrlMenu_InsertMenuItem ($hMain, 0, 'Файл', 0, $hFile)
    _GUICtrlMenu_InsertMenuItem ($hMain, 1, 'Правка', 0, $hEdit)
    _GUICtrlMenu_InsertMenuItem ($hMain, 2, 'Справка', 0, $hHelp)

    ; Устанавливает главное меню окна
    _GUICtrlMenu_SetMenu ($hGUI, $hMain)
    GUISetState()

    ; Добавляет пункт меню "О программе"
    _GUICtrlMenu_AppendMenu ($hHelp, $MF_STRING, $idAbout, 'О программе')

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Main