Функция EnableMenuItem (winuser.h)
Включает, отключает или серым цветом указанный пункт меню.
Синтаксис
BOOL EnableMenuItem(
[in] HMENU hMenu,
[in] UINT uIDEnableItem,
[in] UINT uEnable
);
Параметры
[in] hMenu
Тип: HMENU
Дескриптор меню.
[in] uIDEnableItem
Тип: UINT
Пункт меню для включения, отключения или серого цвета в соответствии с параметром uEnable . Этот параметр указывает элемент в строке меню, меню или подменю.
[in] uEnable
Тип: UINT
Управляет интерпретацией параметра uIDEnableItem и указывает, включен ли элемент меню, отключен или выделен серым цветом. Этот параметр должен быть сочетанием следующих значений.
Возвращаемое значение
Тип: BOOL
Возвращаемое значение указывает предыдущее состояние пункта меню ( MF_DISABLED, MF_ENABLED или MF_GRAYED). Если элемент меню не существует, возвращается значение -1.
Комментарии
Приложение должно использовать флаг MF_BYPOSITION , чтобы указать правильный дескриптор меню. Если указан дескриптор меню в строке меню, затрагивается пункт меню верхнего уровня (элемент в строке меню). Чтобы задать состояние элемента в раскрывающемся меню или подменю по позиции, приложение должно указать дескриптор раскрывающегося меню или подменю.
Когда приложение задает флаг MF_BYCOMMAND , система проверяет все элементы, открывающие подменю в меню, определяемом указанным дескриптором меню. Таким образом, если нет повторяющихся пунктов меню, достаточно указать дескриптор меню в строке меню.
Функции InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu и SetMenuItemInfo также могут задавать состояние (включено, отключено или серым цветом) элемента меню.
При изменении меню окна строка меню обновляется не сразу. Чтобы принудительно выполнить обновление, вызовите DrawMenuBar.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-menu-l1-1-0 (появилось в Windows 8) |
См. также раздел
Основные понятия
Справочные материалы