См. также
EnableMenuItem, GetMenuCheckMarkDimensions, GetMenuItemID, SetMenuItemBitmaps, SetMenuItemInfo .
CreateMenu
Функция CreateMenu создает меню. Изначально меню пустое, но оно может быть заполнено пунктами меню, используя функции InsertMenuItem, AppendMenu и InsertMenu .
HMENU CreateMenu ( VOID )
Параметры
Функция не имеет параметров.
Возвращаемые значения
В случае успеха возвращается дескриптор созданного меню.
В случае неудачи возвращается NULL .
Комментарии
Ресурсы, связанные с меню, которое назначено окну, освобождаются автоматически. Если меню не назначено окну, приложение должно освободить ресурсы, связанные с меню, перед завершением приложения. Приложение освобождает ресурсы меню, вызывая функцию DestroyMenu .
Windows 95: Система может поддерживать максимум 16384 дескрипторов меню.
См. также
AppendMenu, CreatePopupMenu, DestroyMenu, InsertMenu, SetMenu, InsertMenuItem .
CreatePopupMenu
Функция CreatePopupMenu создает выпадающее меню (drop-down menu), подменю ( submenu ) или меню быстрого вызова ( shortcut menu ). Меню изначально пустое. Вы можете вставить или добавить пункты меню, используя функцию InsertMenuItem . Вы также можете использовать функцию InsertMenu для вставки пунктов меню и функцию AppendMenu для добавления пунктов меню.
HMENU CreatePopupMenu ( VOID )
Параметры
Функция не имеет параметров.
Возвращаемые значения
В случае успеха возвращается дескриптор созданного меню.
В случае неудачи возвращается NULL .
Комментарии
Приложение может добавить новое меню в существующее меню, или оно может отобразить меню быстрого вызова, используя функции TrackPopupMenu или TrackPopupMenuEx .
Ресурсы, связанные с меню, которое назначено окну, освобождаются автоматически. Если меню не назначено окну, приложение должно освободить ресурсы, связанные с меню, перед завершением приложения. Приложение освобождает ресурсы меню, вызывая функцию DestroyMenu .
Windows 95: Система может поддерживать максимум 16384 дескрипторов меню.
См. также
AppendMenu, CreateMenu, DestroyMenu, InsertMenu, SetMenu, TrackPopupMenu, TrackPopupMenuEx, InsertMenuItem .
DeleteMenu
Функция DeleteMenu удаляет пункт из заданного меню. Если пункт открывает меню или подменю, эта функция разрушает дескриптор меню или подменю и освобождает используемую ими память.
BOOL DeleteMenu (
HMENU hMenu , // дескриптор меню
UINT uPosition , // идентификатор или позиция пункта меню
UINT uFlags // флаг пункта меню
);
Параметры
hMenu - идентифицирует меню.
uPosition - задает удаляемый пункт меню, согласно значению параметра uFlags .
uFlags - определяет, каким образом интерпретируется значение параметра uPosition . Параметр uFlags должен принимать одно из следующих значений:
Значение |
Пояснение |
MF_BYCOMMAND |
Указывет, что uPosition принимает идентификатор пункта меню. Флаг MF_BYCOMMAND явялется флагом по умолчанию, если явно не задан ни флаг MF_BYCOMMAND, ни MF_BYPOSITION. |
MF_BYPOSITION |
Указывает, что uPosition принимает относительную, отсчитываемую от нуля позицию пункта меню. |
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Приложение должно вызвать функцию DrawMenuBar при изменении меню, вне зависимости от того, находится ли меню в отображаемом окне или нет.
См . также
DrawMenuBar, RemoveMenu .
GetMenuCheckMarkDimensions
Функция является устаревшей. Используйте GetSystemMetrics со значениями CXMENUCHECK и CYMENUCHECK для извлечения размеров битового образа.
Функция GetMenuCheckMarkDimensions возвращает размеры битового образа отметки по умолчанию пункта меню. Windows отображает этот битовый образ в пункте меню. Перед вызовом функции SetMenuItemBitmaps для изменения битового образа отметки для пункта меню, приложение должно определить корректный размер образа, вызвав GetMenuCheckMarkDimensions .
LONG GetMenuCheckMarkDimensions ( VOID )
Параметры
Функция не имеет параметров.
Возвращаемые значения
Возвращаемое значение определяет высоту и ширину битового образа отметки по умолчанию в пикселях. Старшее слово содержит высоту, младше слово содержит ширину.
См. также
SetMenuItemBitmaps .
GetMenuItemCount
Функция GetMenuItemCount определяет количество пунктов в указанном меню.
int GetMenuItemCount (
HMENU hMenu // дескриптор меню
);
Параметры
hMenu - определяет дескриптор меню, для которого будет определяться количество пунктов .
Возвращаемые значения
В случае успеха возвращаемое значение определяет количество пунктов в меню.
В случае неудачи возвращается -1. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
См . также
GetMenuItemID .
GetMenuItemID
Функция GetMenuItemID извлекает идентификатор пункта меню, находящегося в указанной позиции в меню.