Partilhar 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 este 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:

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

  2. A janela principal do quadro MDI dá à janela filha MDI atualmente ativa a oportunidade de lidar com o comando.

  3. O roteamento padrão de uma janela de estrutura filho MDI dá à sua visualização a oportunidade de processar o comando antes de verificar o seu próprio mapa de mensagens.

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

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

Se o documento não tiver um manipulador, ele encaminhará o comando para seu modelo de documento. Em seguida, o comando retornaria à exibição e depois à janela de enquadramento. Finalmente, a janela do quadro verificaria seu mapa de mensagens. Se essa verificação também falhasse, o comando seria roteado de volta para a janela principal do quadro MDI e, em seguida, para o objeto do aplicativo — o destino final dos comandos não manipulados.

Ver também

Como o framework chama um manipulador