CCmdTarget::OnCmdMsg

virtual BOOL OnCmdMsg ( UINT nID, int nCode, void * pExtra, AFX_CMDHANDLERINFO * pHandlerInfo );

Valor de retorno

Diferente de zero se a mensagem é manipulada; caso contrário 0.

Parâmetros

nID

Contém a ID de comando.

nCode

Identifica o código de notificação de comando.

pExtra

Utilizado de acordo com o valor de nCode.

pHandlerInfo

Se não for NULL, OnCmdMsg preenche o pTarget e pmf Membros da estrutura de pHandlerInfo em vez de distribuir o comando. Normalmente, esse parâmetro deve ser NULL.

Observações

Chamado pela estrutura para rotear e distribuir mensagens de comando e para lidar com a atualização dos objetos de usuário-interface de comando. Esta é a rotina principal implementação da arquitetura de comando do quadro.

Em tempo de execução, OnCmdMsg despacha um comando para outros objetos ou lida com o próprio comando chamando a classe de raiz CCmdTarget::OnCmdMsg, que faz o real pesquisa de mapa da mensagem. Para uma descrição completa sobre o roteamento de comando padrão, consulte manipulação de Mensagemens e tópicos de mapeamento no Guia do programador do Visual C++.

Em raras ocasiões, você pode querer substituir essa função de membro para ampliar a estrutura roteamento de comando padrão. Consulte técnico Anotação 21 para detalhes avançados de arquitetura de roteamento de comando.

Exemplo

/ / Este exemplo ilustra estendendo comando padrão do framework / / rota do Vista para objetos gerenciados por view.nbsp; Este exemplo
/ / é de um objeto-orientado desenho aplicativo, semelhante a
/ / DRAWCLI exemplo de aplicativo, que desenha e edita "formas".

BOOL CMyView::OnCmdMsg(UINT nID, int nCode, void* pExtra,
      AFX_CMDHANDLERINFO* pHandlerInfo)
{
   / / Estender a rota de comando da estrutura do Vista para
   / / o CMyShape de específicas do aplicativo que está atualmente selecionado
   / / no modo de exibição. m_pActiveShape é NULL se nenhum objeto de forma
   / / está selecionado no momento no modo de exibição.
   se ((m_pActiveShape! = NULL)
      & & m_pActiveShape - > OnCmdMsg (nID, nCode, pExtra, pHandlerInfo))
      retornar TRUE;

/ / Se não manipular o objeto (s) no roteiro de comando estendido
   / / o comando, então deixe a classe base OnCmdMsg segurá-lo.
   retornar CView::OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
}

/ / O manipulador de comando para ID_SHAPE_COLOR (comando de menu para alterar
/ / a cor da forma atualmente selecionada) foi adicionado ao
/ / a mensagem mapa de CMyShape (nota, não CMyView) usar ClassWizard.  

/ / O item de menu será automaticamente ativado ou desativado, dependendo / / on se um CMyShape é selecionado no momento no modo de exibição, ou seja, / / dependendo se CMyView::m_pActiveView é NULL.  Não é / / necessário para implementar um manipulador de ON_UPDATE_COMMAND_UI para habilitar / / ou desativar o item de menu.  

BEGIN_MESSAGE_MAP (CMyShape, CCmdTarget)
   //{{AFX_MSG_MAP(CMyShape)
   ON_COMMAND (ID_SHAPE_COLOR, OnShapeColor)
   //}}AFX_MSG_MAP
END_MESSAGE_MAP()

Visão geral de CCmdTargetMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;CCmdUI

Index