GetMenuState
GetMenuState
Функция GetMenuState извлекает флаги меню, ассоциированные с указанным пунктом меню. Если пункт меню открывает подменю, функция также возвращает количество пунктов в подменю.
Функция GetMenuState заменена функцией GetMenuItemInfo . Вы, тем не менее, можете продолжать использовать функцию GetMenuState , если у вас нет необходимости в дополнительных возможностях функции GetMenuItemInfo .
UINT GetMenuState (
HMENU hMenu , // дескриптор меню
UINT uId , // запрашиваемый пункт меню
UINT uFlags // флаги меню
);
Параметры
hMenu - идентифицирует меню, которое содержит пункт, чьи флаги извлекаются.
uId - определяет пункт меню, для которого извлекаются флаги меню.
uFlags - определяет, как интерпретируется значение параметра uId . Параметр uFlags должен принимать одно из следующих значений:
Значение
Пояснение
MF_BYCOMMAND
Указывает, что uPosition принимает идентификатор пункта меню. Флаг MF_BYCOMMAND является флагом по умолчанию, если явно не задан ни флаг MF_BYCOMMAND, ни MF_BYPOSITION.
MF_BYPOSITION
Указывает, что uPosition принимает относительную, отсчитываемую с нуля позицию пункта меню.
Возвращаемые значения
Если указанного пункта меню не существует, возвращается 0 xFFFFFFFF .
Если пункт меню открывает подменю, младший байт возвращаемого значения содержит флаги меню, связанные с пунктом, а старший байт содержит число пунктов в подменю.
В остальных случаях возвращаемое значение является маской флагов меню. Ниже приведены флаги меню, связанные с пунктом меню:
Значение
Пояснение
MF_CHECKED
Помещает отметку в пункт меню (только для выпадающих меню, меню быстрого вызова команд и подменю).
MF_DISABLED
Запрещает пункт меню.
MF_GRAYED
Запрещает пункт меню и делает его затененным.
MF_HILITE
Подсвечивает пункт меню.
MF_MENUBARBREAK
То же, что и флаг MF _ MENUBREAK, за исключением выпадающих меню, меню быстрого вызова команд и подменю, где новый столбец от старого столбца отделяется вертикальной чертой.
MF_MENUBREAK
Помещает новый пункт в новой строке (для строк меню) или в новый столбец (для выпадающих меню, меню быстрого вызова команд и подменю) без разделения столбцов.
MF_SEPARATOR
Создает горизонтальную разделяющую линию (для выпадающих меню, меню быстрого вызова команд и подменю).
См. также
GetMenu, GetMenuItemCount, GetMenuItemID, GetMenuItemInfo, GetMenuString .