Поделиться через


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

См. также

Ссылки

Класс CMenu

Диаграмма иерархии

CMenu::GetMenuState

EnableMenuItem