Partilhar via


Mapas de Mensagens (MFC)

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta secção da referência lista todos os macros de mapeamento de mensagens e todas CWnd as entradas de mapeamento de mensagens, juntamente com os protótipos correspondentes de funções membro:

Categoria Description
ON_COMMAND Manipulador de Mensagens Trata WM_COMMAND das mensagens geradas por seleções de menu do utilizador ou teclas de acesso ao menu.
Manipuladores de Mensagens de Notificação de Janelas Filhos Lidar com mensagens de notificação das janelas filhas.
WM_ Manipuladores de Mensagens Lidar com WM_ mensagens, como WM_PAINT.
User-Defined Manipuladores de Mensagens Lidar com mensagens definidas pelo utilizador.

(Para uma explicação da terminologia e convenções usadas nesta referência, veja Como Usar a Correspondência Cruzada do Mapa da Mensagem.)

Como o Windows é um sistema operativo orientado a mensagens, grande parte da programação para o ambiente Windows envolve o tratamento de mensagens. Cada vez que ocorre um evento, como uma tecla ou um clique do rato, é enviada uma mensagem para a aplicação, que deve então tratar do evento.

A Microsoft Foundation Class Library oferece um modelo de programação otimizado para programação baseada em mensagens. Neste modelo, "mapas de mensagens" são usados para designar quais as funções que irão tratar várias mensagens para uma determinada classe. Os mapas de mensagens contêm uma ou mais macros que especificam quais as mensagens que serão tratadas por que funções. Por exemplo, um mapa de mensagem contendo uma ON_COMMAND macro pode parecer algo assim:

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

A ON_COMMAND macro é usada para tratar mensagens de comando geradas por menus, botões e teclas de aceleração. Estão disponíveis macros para mapear o seguinte:

Mensagens do Windows

  • Notificações de controlo

  • Mensagens definidas pelo utilizador

Mensagens de comando

  • Mensagens definidas pelo utilizador registadas

  • Mensagens de atualização da interface de utilizador

Intervalos de Mensagens

  • Comandos

  • Mensagens do handler de atualização

  • Notificações de controlo

Embora as macros de mapas de mensagens sejam importantes, geralmente não terá de as usar diretamente. Isto porque o Assistente de Classes cria automaticamente entradas de mapas de mensagens nos seus ficheiros de origem quando o utiliza para associar funções de tratamento de mensagens às mensagens. Sempre que quiseres editar ou adicionar uma entrada de mapa-mensagem, podes usar o Assistente de Classes.

Observação

O Assistente de Classes não suporta intervalos de mapas de mensagens. Tens de escrever tu mesmo estas entradas de mapa-mensagem.

No entanto, os mapas de mensagens são uma parte importante da Microsoft Foundation Class Library. Deves perceber o que eles fazem, e a documentação é fornecida para eles.

Consulte também

Estruturas, estilos, retornos de chamada e mapas de mensagens