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