CMenu::EnableMenuItem
Включает, отключить или снизит яркость пункт меню.
UINT EnableMenuItem(
UINT nIDEnableItem,
UINT nEnable
);
Параметры
nIDEnableItem
Определяет пункт меню, который необходимо включить, как определено nEnable. Этот параметр может указывать на элементы раскрывающегося меню, а также стандартных пунктов меню.nEnable
Указывает предпринимаемое действие. Может быть сочетанием MF_DISABLED, MF_ENABLED или MF_GRAYED с MF_BYCOMMAND или MF_BYPOSITION. Эти значения могут объединяться с помощью битовой оператора OR. Эти значения имеют следующие значения:MF_BYCOMMAND Указывает, что параметр содержит идентификатор команды существующего пункта меню. Задано по умолчанию.
MF_BYPOSITION Указывает, что данный параметр предоставляет позицию существующего пункта меню. Первый элемент в позиции 0.
MF_DISABLED Отключить пункт меню, чтобы он не могут быть выбраны, но не уменьшит яркость его.
MF_ENABLED включает пункт меню, чтобы он может выбирать и восстановления ее из своего уменьшен серого состояния.
MF_GRAYED Отключить пункт меню, чтобы он не может выбирать и снизит яркость его.
Возвращаемое значение
Предыдущее состояние (MF_DISABLED, MF_ENABLED или MF_GRAYED) или – 1, если недопустимый.
Заметки
Функции-члены CreateMenu, InsertMenu, ModifyMenu и LoadMenuIndirect могут также задать состояние (включенным, заблокированных или уменьшен яркостьый) пункта меню.
Использование значения MF_BYPOSITION требует приложениям использовать правильное CMenu. Если используется CMenu строки меню, пункт меню верхнего уровня (элемент) трогнут в строке меню. Чтобы установить состояние элемента во всплывающем или вложенные всплывающем меню позиции, приложение должно определить CMenu раскрывающегося меню.
Когда в приложении задается пометить MF_BYCOMMAND, Windows проверяет все элементы раскрывающегося меню, субординационны к CMenu; поэтому, если дублирующиеся пунктов меню, не будут, используя CMenu строки меню недостаточно.
Пример
// The code fragment below shows how to disable (and gray out) the
// File\New menu item.
// NOTE: m_bAutoMenuEnable is set to FALSE in the constructor of
// CMainFrame so no ON_UPDATE_COMMAND_UI or ON_COMMAND handlers are
// needed, and CMenu::EnableMenuItem() will work as expected.
CMenu* mmenu = GetMenu();
CMenu* submenu = mmenu->GetSubMenu(0);
submenu->EnableMenuItem(ID_FILE_NEW, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
Требования
Header: afxwin.h