Partilhar via


Classe CCmdUI

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

É usado apenas dentro de um ON_UPDATE_COMMAND_UI manipulador numa CCmdTargetclasse derivada de .

Sintaxe

class CCmdUI

Membros

Métodos Públicos

Nome Description
CCmdUI::ContinueRouting Diz ao mecanismo de encaminhamento de comandos para continuar a encaminhar a mensagem atual pela cadeia de handlers.
CCmdUI::Ativar Ativa ou desativa o item de interface de utilizador para este comando.
CCmdUI::SetCheck Define o estado de verificação do item da interface de utilizador para este comando.
CCmdUI::SetRadio Como a SetCheck função de membros, mas opera em grupos de rádio.
CCmdUI::SetText Define o texto para o item da interface de utilizador deste comando.

Membros de Dados Públicos

Nome Description
CCmdUI::m_nID O ID do objeto de interface de utilizador.
CCmdUI::m_nIndex O índice do objeto da interface de utilizador.
CCmdUI::m_pMenu Aponta para o menu representado pelo CCmdUI objeto.
CCmdUI::m_pOther Aponta para o objeto janela que enviou a notificação.
CCmdUI::m_pSubMenu Aponta para o submenu contido representado pelo CCmdUI objeto.

Observações

CCmdUI não tem uma classe base.

Quando um utilizador da sua aplicação desce um menu, cada item do menu precisa de saber se deve ser mostrado como ativado ou desativado. O destino de um comando de menu fornece esta informação ao implementar um manipulador de ON_UPDATE_COMMAND_UI. Para cada um dos objetos da interface de utilizador de comandos na sua aplicação, utilize o Assistente de Classes ou a janela de Propriedades (na Vista de Classes) para criar uma entrada de mapa de mensagens e um protótipo de função para cada handler.

Quando o menu é puxado para baixo, o framework procura e chama cada ON_UPDATE_COMMAND_UI handler, cada handler chama CCmdUI funções membros como Enable e Check, e o framework então exibe adequadamente cada item do menu.

Um item do menu pode ser substituído por um botão na barra de controlo ou outro objeto de interface de utilizador de comandos sem alterar o código dentro do ON_UPDATE_COMMAND_UI handler.

A tabela seguinte resume o efeito CCmdUIque as funções dos membros têm em vários itens da interface de utilizador dos comandos.

User-Interface Item Enable SetCheck SetRadio DefinirTexto
Item de menu Ativar ou desativar Verificações ou desmarcas Verificações usando um ponto Texto dos itens dos conjuntos
Botão da barra de ferramentas Ativar ou desativar Seleciona, desseleciona ou indeterminada O mesmo que SetCheck (Não aplicável)
Painel da barra de estado Torna o texto visível ou invisível Conjuntos pop-out ou margem normal O mesmo que SetCheck Texto do painel de conjuntos
Botão normal para dentro CDialogBar Ativar ou desativar Caixa de assinalar ou desmarcar O mesmo que SetCheck Define o texto dos botões
Controlo normal em CDialogBar Ativar ou desativar (Não aplicável) (Não aplicável) Conjuntos do texto da janela

Para mais informações sobre o uso desta classe, veja Como Atualizar User-Interface Objetos.

Hierarquia de herança

CCmdUI

Requerimentos

Cabeçalho: afxwin.h

CCmdUI::ContinueRouting

Chame esta função membro para dizer ao mecanismo de encaminhamento de comandos para continuar a encaminhar a mensagem atual pela cadeia de handlers.

void ContinueRouting();

Observações

Esta é uma função membro avançada que deve ser usada em conjunto com um handler de ON_COMMAND_EX que devolve FALSE. Para mais informações, consulte a Nota Técnica 6.

CCmdUI::Ativar

Chame esta função membro para ativar ou desativar o item de interface de utilizador deste comando.

virtual void Enable(BOOL bOn = TRUE);

Parâmetros

bOn
TRUE para ativar o item, FALSE para o desativar.

Example

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

O ID do item do menu, botão da barra de ferramentas ou outro objeto da interface de utilizador representado pelo CCmdUI objeto.

UINT m_nID;

CCmdUI::m_nIndex

O índice do item do menu, botão da barra de ferramentas ou outro objeto da interface de utilizador representado pelo CCmdUI objeto.

UINT m_nIndex;

CCmdUI::m_pMenu

Apontador (do CMenu tipo) para o menu representado pelo CCmdUI objeto.

CMenu* m_pMenu;

Observações

NULL se o item não for um menu.

CCmdUI::m_pSubMenu

Apontador (do CMenu tipo) para o submenu contido representado pelo CCmdUI objeto.

CMenu* m_pSubMenu;

Observações

NULL se o item não for um menu. Se o submenu for um pop-up, m_nID contém o ID do primeiro item no menu pop-up. Para mais informações, consulte a Nota Técnica 21.

CCmdUI::m_pOther

Apontador (do tipo CWnd) para o objeto janela, como uma ferramenta ou barra de estado, que enviou a notificação.

CWnd* m_pOther;

Observações

NULL se o item for um menu ou um não-objeto CWnd .

CCmdUI::SetCheck

Chame esta função membro para definir o item da interface de utilizador deste comando para o estado de verificação apropriado.

virtual void SetCheck(int nCheck = 1);

Parâmetros

nCheck
Especifica o estado de verificação a definir. Se 0, desmarca; se 1, confere; e se 2, define indeterminado.

Observações

Esta função de membro funciona para itens do menu e botões da barra de ferramentas. O estado indeterminado aplica-se apenas aos botões da barra de ferramentas.

CCmdUI::SetRadio

Chame esta função membro para definir o item da interface de utilizador deste comando para o estado de verificação apropriado.

virtual void SetRadio(BOOL bOn = TRUE);

Parâmetros

bOn
TRUE para ativar o item; caso contrário, FALSO.

Observações

Esta função membro funciona como SetCheck, exceto que opera sobre itens da interface do utilizador que atuam como parte de um grupo de rádio. Desmarcar os outros itens do grupo não é automático, a menos que os próprios itens mantenham o comportamento do grupo de rádio.

CCmdUI::SetText

Chame esta função membro para definir o texto do item da interface de utilizador para este comando.

virtual void SetText(LPCTSTR lpszText);

Parâmetros

lpszText
Um apontador para uma cadeia de texto.

Example

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

Consulte também

Exemplo MFC de MDI
Gráfico de Hierarquia
Classe CCmdTarget