Compartilhar via


CMenu::EnableMenuItem

Habilita, desativa verificação, ou escurece um item de menu.

UINT EnableMenuItem( 
   UINT nIDEnableItem, 
   UINT nEnable  
);

Parâmetros

  • nIDEnableItem
    Especifica o item de menu para ser ativado, conforme determinado por nEnable. Este parâmetro pode especificar itens de menu pop-up bem como itens de menu padrão.

  • nEnable
    Especifica a ação executar. Pode ser uma combinação de MF_DISABLED, de MF_ENABLED, ou de MF_GRAYED, com MF_BYCOMMAND ou MF_BYPOSITION. Esses valores podem ser combinados usando o operador OR bit a bit. Esses valores têm significados os seguintes:

    • MF_BYCOMMAND especifica que o parâmetro fornece a identificação do comando de menu item existente. Esse é o padrão.

    • MF_BYPOSITION especifica que o parâmetro retorna a posição do item de menu existente. O primeiro item está na posição 0.

    • MF_DISABLED desativa o item de menu para que não possa ser selecionado mas não o escurece.

    • MF_ENABLED permite que o item de menu para que ele pode ser selecionado e o restaurará ela de seu estado esmaecido.

    • MF_GRAYED desativa o item de menu para que não possa ser selecionado e escurece-o.

Valor de retorno

Estado anterior (MF_DISABLED, MF_ENABLED, ou MF_GRAYED) ou – 1 se inválido.

Comentários

As funções de membro de CreateMenu, de InsertMenu, de ModifyMenu, e de LoadMenuIndirect também podem definir o estado (ativado, desativado, ou esmaecido) de um item de menu.

Usar o valor de MF_BYPOSITION requer um aplicativo para usar CMenucorreto. Se CMenu de barra de menu é usado, um item de menu de nível superior (um item na barra de menu é afetado.) Para definir o estado de um item em um menu pop-up pop-up ou aninhado por posição, um aplicativo deve especificar CMenu de menus pop-up.

Quando um aplicativo especifica o sinalizador de MF_BYCOMMAND , janelas verificam todos os itens de menu pop-up que são subordinados a CMenu; portanto, a menos que os itens de menu duplicados estarem presentes, usar CMenu de barra de menu é suficiente.

Exemplo

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

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CMenu

Gráfico da hierarquia

CMenu::GetMenuState

EnableMenuItem