Compartilhar via


Mapas de mensagem (MFC)

Esta seção da referência lista todas as macros de mapeamento de mensagens e todas as entradas de mapa de mensagens CWnd junto com os protótipos de função membro correspondentes:

Categoria Descrição
Manipulador de mensagens ON_COMMAND Manipula mensagens WM_COMMAND geradas por seleções de menu do usuário ou chaves de acesso ao menu.
Manipuladores de mensagens de notificação de janela filho Manipular mensagens de notificação de janelas filho.
Manipuladores de mensagens WM_ Manipule WM_ mensagens, como WM_PAINT.
Manipuladores de mensagens definidos pelo usuário Manipule mensagens definidas pelo usuário.

(Para uma explicação sobre a terminologia e as convenções usadas nesta referência, confira Como usar o mapa de mensagens entre referências.)

Como o Windows é um sistema operacional orientado a mensagens, uma grande parte da programação para o ambiente do Windows envolve o tratamento de mensagens. Sempre que ocorre um evento como um clique de tecla ou mouse, uma mensagem é enviada para o aplicativo, que deve manipular o evento.

A biblioteca Microsoft Foundation Class oferece um modelo de programação otimizado para programação baseada em mensagens. Neste modelo, "mapas de mensagens" são usados para designar quais funções manipularão várias mensagens para uma classe específica. Os mapas de mensagens contêm uma ou mais macros que especificam quais mensagens serão manipuladas por quais funções. Por exemplo, um mapa de mensagens que contém uma macro ON_COMMAND pode ser semelhante a este:

BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
   ON_COMMAND(ID_MYCMD, &CMyDoc::OnMyCommand)
END_MESSAGE_MAP()

A macro ON_COMMAND é usada para manipular mensagens de comando geradas por menus, botões e teclas de acelerador. Macros estão disponíveis para mapear o seguinte:

Mensagens do Windows

  • Notificações de controle

  • Mensagens definidas pelo usuário

Mensagens de comando

  • Mensagens definidas pelo usuário registrado

  • Mensagens de atualização da interface do usuário

Intervalos de mensagens

  • Comandos

  • Mensagens do manipulador de atualização

  • Notificações de controle

Embora as macros de mapa de mensagens sejam importantes, você geralmente não precisará usá-las diretamente. Isso ocorre porque o Assistente de Classe cria automaticamente entradas de mapa de mensagens em seus arquivos de origem quando você o usa para associar funções de tratamento de mensagens a mensagens. Sempre que quiser editar ou adicionar uma entrada de mapa de mensagens, você poderá usar o Assistente de Classe.

Observação

O Assistente de Classe não dá suporte a intervalos de mapa de mensagens. Você mesmo deve escrever essas entradas de mapa de mensagens.

No entanto, os mapas de mensagens são uma parte importante da biblioteca Microsoft Foundation Class. Você deve entender o que eles fazem e a documentação é fornecida para eles.

Confira também

Estruturas, estilos, retornos de chamada e mapas de mensagem