Classe CCmdUI
Usada somente em um manipulador ON_UPDATE_COMMAND_UI
em uma classe derivada de CCmdTarget
.
Sintaxe
class CCmdUI
Membros
Métodos públicos
Nome | Descrição |
---|---|
CCmdUI::ContinueRouting | Informa ao mecanismo de roteamento de comandos para continuar roteando a mensagem atual para baixo na cadeia de manipuladores. |
CCmdUI::Enable | Habilita ou desabilita o item de interface do usuário para este comando. |
CCmdUI::SetCheck | Define o estado de verificação do item de interface do usuário para este comando. |
CCmdUI::SetRadio | Como a função membro SetCheck , mas operando em grupos de botões de opção. |
CCmdUI::SetText | Define o texto do item de interface do usuário para este comando. |
Membros de Dados Públicos
Nome | Descrição |
---|---|
CCmdUI::m_nID | A ID do objeto de interface do usuário. |
CCmdUI::m_nIndex | O índice do objeto de interface do usuário. |
CCmdUI::m_pMenu | Aponta para o menu representado pelo objeto CCmdUI . |
CCmdUI::m_pOther | Aponta para o objeto de janela que enviou a notificação. |
CCmdUI::m_pSubMenu | Aponta para o submenu contido representado pelo objeto CCmdUI . |
Comentários
CCmdUI
não tem uma classe base.
Quando um usuário do aplicativo efetua pull de um menu, cada item de menu precisa saber se ele deve ser exibido como habilitado ou desabilitado. O destino de cada comando de menu fornece essas informações implementando um manipulador ON_UPDATE_COMMAND_UI. Para cada um dos objetos de interface do usuário de comando em seu aplicativo, use o Assistente de Classe ou a janela Propriedades (no Modo de Exibição de Classe) para criar uma entrada de mapa de mensagens e um protótipo de função para cada manipulador.
Quando é efetuado pull do menu, a estrutura procura e chama cada manipulador ON_UPDATE_COMMAND_UI, cada manipulador chama funções membro CCmdUI
como Enable
e Check
, e em seguida a estrutura exibe adequadamente cada item de menu.
Um item de menu pode ser substituído por um botão de barra de controle ou outro objeto de interface do usuário de comando sem alterar o código dentro do manipulador ON_UPDATE_COMMAND_UI
.
A tabela a seguir resume o efeito que as funções membro de CCmdUI
têm em vários itens de interface do usuário de comando.
Item de interface do usuário | Habilitar | SetCheck | SetRadio | SetText |
---|---|---|---|---|
Item de menu | Habilita ou desabilita | Marca ou desmarca | Marca com um ponto | Define texto do item |
Botão da barra de ferramentas | Habilita ou desabilita | Seleciona, desmarca ou indetermina | Mesmo que SetCheck |
(Não aplicável) |
Painel da barra de status | Torna o texto visível ou invisível | Define borda normal ou destacada | Mesmo que SetCheck |
Define texto do painel |
Botão normal em CDialogBar |
Habilita ou desabilita | Marca ou desmarca a caixa de seleção | Mesmo que SetCheck |
Define texto do botão |
Controle normal em CDialogBar |
Habilita ou desabilita | (Não aplicável) | (Não aplicável) | Define texto da janela |
Para obter mais informações sobre o uso dessa classe, consulte Como atualizar objetos de interface do usuário.
Hierarquia de herança
CCmdUI
Requisitos
Cabeçalho: afxwin.h
CCmdUI::ContinueRouting
Chame esta função membro para informar ao mecanismo de roteamento de comandos para continuar roteando a mensagem atual para baixo na cadeia de manipuladores.
void ContinueRouting();
Comentários
Essa é uma função membro avançada, que deve ser usada em conjunto com um manipulador ON_COMMAND_EX que retorna FALSE. Para mais informações, confira Nota Técnica 6.
CCmdUI::Enable
Chame essa função membro para habilitar ou desabilitar o item de interface do usuário para este comando.
virtual void Enable(BOOL bOn = TRUE);
Parâmetros
bOn
TRUE para habilitar o item, FALSE para desabilitá-lo.
Exemplo
ON_UPDATE_COMMAND_UI(ID_FILE_SAVE, &CMyDoc::OnUpdateFileSave)
void CMyDoc::OnUpdateFileSave(CCmdUI *pCmdUI)
{
// Enable the menu item if the file has been modified.
pCmdUI->Enable(m_bModified);
}
CCmdUI::m_nID
A ID do item de menu, o botão da barra de ferramentas ou outro objeto de interface do usuário representado pelo objeto CCmdUI
.
UINT m_nID;
CCmdUI::m_nIndex
O índice do item de menu, o botão da barra de ferramentas ou outro objeto de interface do usuário representado pelo objeto CCmdUI
.
UINT m_nIndex;
CCmdUI::m_pMenu
Ponteiro (do tipo CMenu
) para o menu representado pelo objeto CCmdUI
.
CMenu* m_pMenu;
Comentários
NULL se o item não for um menu.
CCmdUI::m_pSubMenu
Ponteiro (do tipo CMenu
) para o submenu contido representado pelo objeto CCmdUI
.
CMenu* m_pSubMenu;
Comentários
NULL se o item não for um menu. Se o submenu for um pop-up, m_nID conterá a ID do primeiro item no menu pop-up. Para mais informações, confira Nota Técnica 21.
CCmdUI::m_pOther
Ponteiro (do tipo CWnd
) para o objeto de janela, como uma barra de ferramentas ou de status, que enviou a notificação.
CWnd* m_pOther;
Comentários
NULL se o item for um menu ou um objeto diferente de CWnd
.
CCmdUI::SetCheck
Chame essa função membro para definir o item de interface do usuário para este comando para o estado de verificação apropriado.
virtual void SetCheck(int nCheck = 1);
Parâmetros
nCheck
Especifica o estado de seleção a ser definido. Se 0, desmarca; se 1, marca; e se 2, indetermina.
Comentários
Essa função de membro funciona para itens de menu e botões da barra de ferramentas. O estado indeterminado aplica-se somente aos botões da barra de ferramentas.
CCmdUI::SetRadio
Chame essa função membro para definir o item de interface do usuário para este comando para o estado de verificação apropriado.
virtual void SetRadio(BOOL bOn = TRUE);
Parâmetros
bOn
TRUE para habilitar o item; caso contrário, FALSE.
Comentários
Essa função membro opera como SetCheck
, exceto que ela opera em itens de interface do usuário que atuam como parte de um grupo de botões de opção. Desmarcar os outros itens no grupo não é automático, a menos que os próprios itens mantenham o comportamento do grupo de botões de opção.
CCmdUI::SetText
Chame essa função membro para definir o texto do item de interface do usuário para este comando.
virtual void SetText(LPCTSTR lpszText);
Parâmetros
lpszTexto
Um ponteiro para uma cadeia de caracteres de texto.
Exemplo
void CMyRichEditView::OnUpdateLineNumber(CCmdUI *pCmdUI)
{
int nLine = GetRichEditCtrl().LineFromChar(-1) + 1;
CString string;
string.Format(_T("Line %d"), nLine);
pCmdUI->Enable(TRUE);
pCmdUI->SetText(string);
}
Confira também
MDI de exemplo do MFC
Gráfico da hierarquia
Classe CCmdTarget