winuser.h


EnableMenuItem

La función EnableMenuItem inhibe, desinhibe u oscurece (gray) el ítem de menú especificado.

Sintaxis

BOOL EnableMenuItem(
    HMENU hMenu,         // manipulador de menú
    UINT uIDEnableItem,  // ítem de menú a inhibir, desinhibir u oscurecer
    UINT uEnable         // banderas de ítem de menú
   );

Parámetros

hMenu: identifica el menú.

uIDEnableItem: especifica el ítem de menú a inhibir, desinhibir u oscurecer, tal como se determine por el parámetro uEnable. Este parámetro especifica un ítem en una barra de menú, un menú o submenú.

uEnable: especifica banderas que controlan la interpretación del parámetro uIDEnableItem e indican si el ítem se inhibe, desinhibe u oscurece. Este parámetro debe ser una combinación de MF_BYCOMMAND o MF_BYPOSITION y MF_ENABLED, MF_DISABLED o MF_GRAYED.

Valor Significado
MF_BYCOMMAND Indica que uIDEnableItem proporciona el identificador d eun ítem de menú. Si no se especifica ni MF_BYCOMMAND ni MF_BYPOSITION, MF_BYCOMMAND es la bandera por defecto.
MF_BYPOSITION Indica que uIDEnableItem proporciona la posición relativa, empezando en cero, del ítem de menú.
MF_DISABLED Indica que el ítem de menú será inhibido, pero no oscurecido, de modo que no puede ser seleccionado.
MF_ENABLED Indica que el ítem de menú será desinhibido y que se elimina el estado de oscurecimiento, de modo que puede ser seleccionado.
MF_GRAYED Indica que el ítem de menú será inhibido y oscurecido, de modo que no podrá ser seleccionado.

Valor de retorno

El valor de retorno especifica el estado previo del ítem de menú (es decir MF_DISABLED, MF_ENABLED o MF_GRAYED). Si el ítem de menú no existe, el valor de retorno es 0xFFFFFFFF.

Observaciones

Una aplicación debe usar la bandera MF_BYPOSITION para especificar el manipulador de menú correcto. Si se especifica el manipulador de menú de la barra de menú, se verá afectado el ítem de menú de mayor nivel (un ítem de la barra de menú). Para cambiar el estado de un ítem en un menú emergente o submenú por posición, la aplicación debe especificar el manipulador de menú emergente o submenú.

Cuando una aplicación especifica la bandera MF_BYCOMMAND, Windows comprueba todos los ítems que abren submenús en el menú identificado por el manipulador de menú especificado. Por lo tanto, salvo que existan ítems de menú duplicados, especificar el manipulador de menú de la barra de menú será suficiente.

Las funciónes CreateMenu, InsertMenu, InsertMenuItem, LoadMenuIndirect, ModifyMenu y SetMenuItemInfo también pueden asignar el estado (inhibido, desinhibido u oscurecido) de un ítem de menú.