Partilhar via


Categorias de mensagem

Que tipos de mensagens você escrever manipuladores para?Há três categorias principais:

  1. Mensagens do Windows

    Isso inclui principalmente as mensagens começando com o WM _ prefixo, exceto WM_COMMAND.Mensagens do Windows são manipuladas pelo windows e modos de exibição.Essas mensagens geralmente têm parâmetros que são usados em determinar como manipular a mensagem.

  2. Notificações de controle

    Isso inclui WM_COMMAND mensagens de notificação de controles e outras janelas filho Windows de seu pai.Por exemplo, um controle de edição envia pai uma WM_COMMAND mensagem contendo o EN_CHANGE código de notificação de controle quando o usuário executou uma ação que pode ter alterado o texto no controle de edição.Manipulador da janela da mensagem responde à mensagem de notificação de alguma maneira apropriada, como recuperar o texto no controle.

    A estrutura roteia mensagens de notificação de controle como outros WM _ mensagens.No entanto, é uma exceção, o BN_CLICKED mensagem de notificação de controle enviada pelos botões quando o usuário clica neles.Esta mensagem é tratada especialmente como uma mensagem de comando e roteada como outros comandos.

  3. Mensagens de comando

    Isso inclui WM_COMMAND mensagens de notificação de objetos de interface do usuário: menus, botões e teclas de aceleração.A estrutura processa comandos diferente de outras mensagens e podem ser tratadas por mais tipos de objetos, conforme explicado em Comando destinos.

Mensagens do Windows e mensagens de notificação de controle

Mensagens em categorias 1 e 2 — mensagens do Windows e notificações de controle — são manipuladas pelo windows: objetos de classes derivadas da classe CWnd.Isso inclui CFrameWnd, CMDIFrameWnd, CMDIChildWnd, CView, CDialog, e suas próprias classes derivadas dessas classes base.Tais objetos encapsulam um HWND, um identificador para uma janela do Windows.

Mensagens de comando

Mensagens na categoria 3 — comandos — pode ser tratado por uma variedade maior de objetos: documentos, modelos de documento e o próprio objeto de aplicativo windows e modos de exibição.Quando um comando afeta diretamente a algum objeto particular, faz sentido ter esse objeto lidar com o comando.Por exemplo, o comando Abrir no menu arquivo é logicamente associado ao aplicativo: o aplicativo abre um documento especificado ao receber o comando.Portanto, o manipulador para o comando abrir é uma função de membro da classe de aplicativo.Para obter mais informações sobre comandos e como elas são roteadas para objetos, consulte como o Framework chama um manipulador de.

Consulte também

Conceitos

Mensagens e comandos no Framework