Compartir a través de


CMenu::EnableMenuItem

Los permisos, deshabilitar, o atenuadas un elemento de menú.

UINT EnableMenuItem( 
   UINT nIDEnableItem, 
   UINT nEnable  
);

Parámetros

  • nIDEnableItem
    Especifica el elemento de menú que se habilite, determinado por nEnable. Este parámetro puede especificar elementos de menú emergente con elementos de menú estándar.

  • nEnable
    Especifica la acción que se va a realizar. puede ser una combinación de MF_DISABLED, de MF_ENABLED, o de MF_GRAYED, con MF_BYCOMMAND o MF_BYPOSITION. Estos valores se pueden combinar mediante el OR bit a bit el operador. estos valores tienen los significados siguientes:

    • MF_BYCOMMAND especifica que el parámetro proporciona el id. del elemento de menú existente. Activado de forma predeterminada.

    • MF_BYPOSITION especifica que el parámetro proporciona la posición del elemento de menú existente. el primer elemento está en la posición 0.

    • MF_DISABLED deshabilita el elemento de menú para no pueda seleccionar pero no lo atenuado.

    • MF_ENABLED habilita el elemento de menú para poder seleccionarlo y las restauraciones él de su estado atenuada.

    • MF_GRAYED deshabilita el elemento de menú para no pueda seleccionar y lo atenuado.

Valor devuelto

Estado anterior (MF_DISABLED, MF_ENABLED, o MF_GRAYED) o – 1 si no es válido.

Comentarios

Las funciones miembro de CreateMenu, de InsertMenu, de ModifyMenu, y de LoadMenuIndirect también pueden establecer el estado (habilitado, deshabilitado, o atenuado) de un elemento de menú.

Mediante MF_BYPOSITION el valor requiere una aplicación para utilizar CMenucorrecto. Si CMenu de barra de menús se utiliza, un elemento de menú de nivel superior (un elemento en la barra de menús) se ve afectado. Para establecer el estado de un elemento en un elemento emergente o menú emergente anidados por posición, una aplicación debe especificar CMenu de menú emergente.

Cuando una aplicación especifica la marca de MF_BYCOMMAND , Windows comprueba todos los elementos de menú emergente que son subordinados a CMenu; por consiguiente, a menos que los elementos de menú duplicados están presentes, mediante CMenu de barra de menús es suficiente.

Ejemplo

// 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);

Requisitos

encabezado: afxwin.h

Vea también

Referencia

CMenu Class

Gráfico de jerarquías

CMenu::GetMenuState

EnableMenuItem