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


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