CMenu::EnableMenuItem
Habilita, desabilita 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 pelo nEnable. Este parâmetro pode especificar sistema autônomo itens de menu pop-up, bem sistema autônomo itens de menu padrão.nEnable
Especifica a ação a tomar.Ele pode ser uma combinação de MF_DISABLED, MF_ENABLED, ou MF_GRAYED, with MF_BYCOMMAND or MF_BYPOSITION.Esses valores podem ser combinados, usando o operador OR bit a bit.Esses valores apresentam os seguintes significados:MF_BYCOMMAND Especifica que o parâmetro fornece a ID de comando do item de menu existente.Este é o padrão.
MF_BYPOSITION Especifica que o parâmetro oferece a posição do item de menu existente.O primeiro item é na posição 0.
MF_DISABLED Desabilita o item de menu para que ele não pode ser selecionado, mas não esmaecer.
MF_ENABLED Permite que o item de menu para que ele pode ser selecionado e restaura o estado esmaecido.
MF_GRAYED Desabilita o item de menu para que ele não pode ser selecionado e escurece a ele.
Valor de retorno
Estado anterior (MF_DISABLED, MF_ENABLED, ou MF_GRAYED) ou -1 se inválido.
Comentários
The CreateMenu, InsertMenu, ModifyMenu, and LoadMenuIndirect funções de membro também podem conjunto o estado (ativado, desabilitado ou esmaecido) de um item de menu.
Usando o MF_BYPOSITION valor exige que um aplicativo para usar o corretoCMenu. Se o CMenu do barra de menus é usada, um item de menu de nível superior (um item da BAR de menus) será afetado. Para conjunto o estado de um item em um menu pop-up pop-up ou aninhado por posição, um aplicativo deve especificar o CMenu do menu pop-up.
Quando um aplicativo especifica o MF_BYCOMMAND sinalizar, o Windows verifica todos os itens de menu pop-up que estão subordinados a CMenu; Portanto, a menos que itens de menu duplicados estejam presentes, usando o CMenu do menu, BAR é 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