Меню (меню и другие ресурсы)

В этом разделе описываются меню и объясняется, как их использовать.

В этом разделе

Имя Описание
Сведения о меню Обсуждает меню.
Использование меню Содержит примеры кода задач, связанных с меню.
Справочник по меню Содержит справочник по API.
Имя Описание
AppendMenu Добавляет новый элемент в конец указанной строки меню, раскрывающегося меню, подменю или контекстного меню. Эту функцию можно использовать для указания содержимого, внешнего вида и поведения элемента меню.
CheckMenuItem Задает состояние атрибута проверка метки указанного элемента меню как выбранное или прозрачное.
CheckMenuRadioItem Проверяет указанный пункт меню и делает его элементом-переключателем. В то же время функция очищает все остальные пункты меню в связанной группе и очищает флаг типа переключателя для этих элементов.
CreateMenu Создает меню. Изначально меню пустое, но его можно заполнить пунктами меню с помощью функций InsertMenuItem, AppendMenu и InsertMenu .
CreatePopupMenu Создает раскрывающееся меню, подменю или контекстное меню. Изначально меню пустое. Вы можете вставлять или добавлять элементы меню с помощью функции InsertMenuItem . Вы также можете использовать функцию InsertMenu для вставки пунктов меню и функцию AppendMenu для добавления пунктов меню.
DeleteMenu Удаляет элемент из указанного меню. Если пункт меню открывает меню или подменю, эта функция удаляет дескриптор меню или подменю и освобождает память, используемую меню или вложенным меню.
DestroyMenu Удаляет указанное меню и освобождает память, занимаемую меню.
DrawMenuBar Перерисовывает строку меню указанного окна. Если строка меню изменяется после создания окна системой, эту функцию необходимо вызвать для рисования измененной строки меню.
EnableMenuItem Включает, отключает или серым цветом указанный пункт меню.
EndMenu Завершает активное меню вызывающего потока.
GetMenu Извлекает дескриптор меню, назначенный указанному окну.
GetMenuBarInfo Извлекает сведения об указанной строке меню.
GetMenuCheckMarkDimensions Извлекает размеры растрового изображения проверка метки по умолчанию. Система отображает это растровое изображение рядом с выбранными пунктами меню. Перед вызовом функции SetMenuItemBitmaps для замены растрового изображения по умолчанию проверка метки для пункта меню приложение должно определить правильный размер растрового изображения, вызвав Метод GetMenuCheckMarkDimensions.
GetMenuDefaultItem Определяет пункт меню по умолчанию в указанном меню.
GetMenuInfo Извлекает сведения о заданном меню.
GetMenuItemCount Извлекает количество элементов в указанном меню.
GetMenuItemID Извлекает идентификатор элемента меню, расположенного в указанной позиции в меню.
GetMenuItemInfo Извлекает сведения об элементе меню.
GetMenuItemRect Извлекает ограничивающий прямоугольник для указанного пункта меню.
GetMenuState Извлекает флаги меню, связанные с указанным пунктом меню. Если пункт меню открывает подменю, эта функция также возвращает количество элементов в подменю.
GetMenuString Копирует текстовую строку указанного пункта меню в указанный буфер.
GetSubMenu Извлекает дескриптор раскрывающегося меню или подменю, активированный указанным пунктом меню.
GetSystemMenu Позволяет приложению получить доступ к меню окна (также известному как системное меню или меню управления) для копирования и изменения.
HiliteMenuItem Выделяет или удаляет выделение из элемента в строке меню.
InsertMenuItem Вставляет новый пункт меню в указанную позицию в меню.
IsMenu Определяет, является ли дескриптор дескриптором меню.
LoadMenu Загружает указанный ресурс меню из исполняемого файла (.exe), связанного с экземпляром приложения.
LoadMenuIndirect Загружает указанный шаблон меню в память.
MenuItemFromPoint Определяет, какой пункт меню , если таковой имеется, находится в указанном расположении.
ModifyMenu Изменяет существующий пункт меню. Эта функция используется для указания содержимого, внешнего вида и поведения элемента меню.
RemoveMenu Удаляет элемент меню или отсоединяет подменю от указанного меню. Если пункт меню открывает раскрывающееся меню или подменю, RemoveMenu не уничтожает меню или его дескриптор, позволяя повторно использовать меню. Перед вызовом этой функции функция GetSubMenu должна получить дескриптор в раскрывающемся меню или подменю.
SetMenu Назначает новое меню указанному окну.
SetMenuDefaultItem Задает пункт меню по умолчанию для указанного меню.
SetMenuInfo Задает сведения для указанного меню.
SetMenuItemBitmaps Связывает указанное растровое изображение с элементом меню. Независимо от того, выбран ли элемент меню или снят, система отображает соответствующее растровое изображение рядом с элементом меню.
SetMenuItemInfo Изменяет сведения об элементе меню.
TrackPopupMenu Отображает контекстное меню в указанном расположении и отслеживает выбор элементов в меню. Контекстное меню может появиться в любом месте экрана.
TrackPopupMenuEx Отображает контекстное меню в указанном расположении и отслеживает выбор элементов в контекстном меню. Контекстное меню может появиться в любом месте экрана.

Следующая функция устарела.

Имя Описание
InsertMenu Вставляет новый пункт меню в меню, перемещая другие элементы вниз по меню. Примечание: Функция InsertMenu заменена функцией InsertMenuItem . Однако вы по-прежнему можете использовать InsertMenu, если вам не нужны какие-либо расширенные функции InsertMenuItem.
Имя Описание
WM_COMMAND Отправляется, когда пользователь выбирает элемент команды в меню, когда элемент управления отправляет сообщение уведомления в родительское окно или при переводе клавиши ускорителя.
WM_CONTEXTMENU Сообщает окну, что пользователь нажал правую кнопку мыши (щелчок правой кнопкой мыши) в окне.
WM_ENTERMENULOOP Сообщает процедуре main окна приложения о том, что введен модальный цикл меню.
WM_EXITMENULOOP Сообщает процедуре main окна приложения о выходе из модального цикла меню.
WM_GETTITLEBARINFOEX Отправляется для запроса сведений о расширенной строке заголовка. Окно получает это сообщение через функцию WindowProc .
WM_MENUCOMMAND Отправляется, когда пользователь делает выбор из меню.
WM_MENUDRAG Отправляется владельцу меню перетаскивания, когда пользователь перетаскивает элемент меню.
WM_MENUGETOBJECT Отправляется владельцу меню перетаскивания, когда курсор мыши входит в элемент меню или перемещается от центра элемента к верхней или нижней части элемента.
WM_MENURBUTTONUP Отправляется, когда пользователь отпускает правую кнопку мыши, когда курсор находится в пункте меню.
WM_NEXTMENU Отправляется в приложение, когда для переключения между строкой меню и системным меню используется клавиша со стрелкой вправо или влево.
WM_UNINITMENUPOPUP Отправляется при уничтожении раскрывающегося меню или подменю.
Имя Описание
MDINEXTMENU Содержит сведения о меню для активации.
MENUBARINFO Содержит сведения о строке меню.
MENUEX_TEMPLATE_HEADER Определяет заголовок для шаблона расширенного меню. Это определение структуры предназначено только для объяснения; он отсутствует ни в одном стандартном файле заголовка.
MENUEX_TEMPLATE_ITEM Определяет пункт меню в шаблоне расширенного меню. Это определение структуры предназначено только для объяснения; он отсутствует ни в одном стандартном файле заголовка.
MENUGETOBJECTINFO Содержит сведения о меню, в котором находится курсор мыши.
MENUINFO Содержит сведения о меню.
MENUITEMINFO Содержит сведения об элементе меню.
MENUITEMTEMPLATE Определяет пункт меню в шаблоне меню.
MENUITEMTEMPLATEHEADER Определяет заголовок для шаблона меню. Полный шаблон меню состоит из заголовка и одного или нескольких списков пунктов меню.
TPMPARAMS Содержит расширенные параметры для функции TrackPopupMenuEx .