Ilustração de roteamento do 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 chega ao manipulador depois que o usuário escolhe o item de menu:
A janela de quadro principal recebe a mensagem de comando primeiro.
A janela de quadro MDI principal dá à janela filho MDI atualmente ativa a chance de manipular o comando.
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.
A exibição verifica primeiro o próprio mapa de mensagens e, não encontrando nenhum manipulador, encaminha o comando para o documento associado.
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 o 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 falhasse, o comando seria roteado para a janela de quadro MDI principal e, em seguida, para o objeto de aplicativo – o destino final de comandos sem tratamento.