Функция EnableMenuItem

Функция EnableMenuItem включает, отключает или окрашивает в серый цвет (делает недоступным) заданный пункт меню.

Синтаксис

BOOL EnableMenuItem(
    HMENU hMenu,
    UINT uIDEnableItem,
    UINT uEnable
);

Параметры

hMenu

[in] Дескриптор меню.

uIDEnableItem

[in] Определяет пункт меню, который будет включен, выключен или сделан недоступным, как обусловлено параметром uEnable. Этот параметр устанавливает пункт в строке меню, меню, или подменю.

uEnable

[in] Управляет интерпретацией параметра uIDEnableItem и указывает  включен, заблокирован или недоступен пункт меню. Этот параметр должен быть комбинацией или флажков MF_BYCOMMAND или MF_BYPOSITION и MF_ENABLED, MF_DISABLED, или MF_GRAYED.

 

Значение

Предназначение

MF_BYCOMMAND

Указывает, что uIDEnableItem дает идентификатор пункта меню. Если ни флажок MF_BYCOMMAND, ни флажок MF_BYPOSITION не установлен, флажок MF_BYCOMMAND является флажком, заданным по умолчанию. 

MF_BYPOSITION

Указывает, что uIDEnableItem дает отсчитываемую от нуля относительную позицию пункта меню. 

MF_DISABLED

Указывает, что пункт меню заблокирован, а не недоступный, так что он не может быть выбран. 

MF_ENABLED

Указывает, что пункт меню включен и восстановлен из недоступного состояния так, чтобы он может быть выбран. 

MF_GRAYED

Указывает, что пункт меню заблокирован и недоступен так, чтобы его невозможно выбрать. 

Возвращаемые значения

Возвращаемое значение определяет предшествующее состояние пункта меню (он или MF_DISABLED, MF_ENABLED или MF_GRAYED). Если пункт меню не существует, возвращаемое значение равно - (минус) 1.

Замечания

Прикладная программа должна использовать флажок MF_BYPOSITION, чтобы определить правильный дескриптор меню. Если дескриптор  определен для строки меню, то затрагивается пункт меню верхнего уровня (пункт в строке меню). Чтобы установить состояние пункта  "выпадающего" меню или позицию подменю, программа должна определить дескриптор "выпадающего" меню или подменю.

Когда приложение определяет флажок MF_BYCOMMAND, система проверяет все пункты, которые открывают подменю в меню, идентифицированные при помощи определения дескриптора меню. Следовательно, если в меню нет двойных пунктов, достаточно определения дескриптора строки меню.

Функции  InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu и SetMenuItemInfo также могут устанавливать состояние (включения, блокировки или недоступности) пунктов меню.

Когда Вы изменяете меню окна, строка меню немедленно не модифицируется. Чтобы заставить ее обновиться, вызовите функцию DrawMenuBar.

Смотри также

Краткий обзор Меню, DrawMenuBar, GetMenuItemID, InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu, SetMenuItemInfo, WM_SYSCOMMAND

Размещение и совместимость EnableMenuItem

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

User32.lib

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz