Compartilhar via


Ilustração de roteamento de comando

Para ilustrar, considere uma mensagem de comando de um item de menu Limpar Tudo no menu Editar de um aplicativo MDI. Suponha que a função de manipulador para esse comando seja uma função membro da classe de documento do aplicativo. Veja como esse comando atinge seu manipulador depois que o usuário escolhe o item de menu:

  1. A janela de quadro principal recebe a mensagem de comando primeiro.

  2. A janela de quadro MDI principal dá à janela filho MDI atualmente ativa a chance de manipular o comando.

  3. O roteamento padrão de uma janela de quadro filho MDI dá a sua exibição uma chance de manipular o comando antes de verificar o próprio mapa de mensagens.

  4. A exibição verifica primeiro seu próprio mapa de mensagens e, não encontrando nenhum manipulador, encaminha o comando para o documento associado.

  5. O documento verifica seu mapa de mensagens e localiza um manipulador. Essa função membro do documento é chamada e o roteamento é interrompido.

Se o documento não tivesse um manipulador, ele encaminharia o comando para seu modelo de documento. Em seguida, o comando retornaria à exibição e, em seguida, à janela de quadro. Por fim, a janela de quadro verificaria seu mapa de mensagens. Se essa verificação também falhar, o comando será roteado de volta para a janela principal do quadro MDI e, em seguida, para o objeto de aplicativo , o destino final dos comandos sem tratamento.

Consulte também

Como o framework chama um manipulador