Share via


Definindo um manipulador de mensagens para uma mensagem refletida

Depois de criar uma nova classe de controle do MFC, você pode definir manipuladores de mensagens para ela. Os manipuladores de mensagens refletidas permitem que sua classe de controle manipule as próprias mensagens antes que a mensagem seja recebida pelo pai. Você pode usar a função do MFC CWnd::SendMessage para enviar mensagens do controle para uma janela pai.

Com essa funcionalidade, você pode, por exemplo, criar uma caixa de listagem que será redesenhada por conta própria em vez de depender da janela pai para fazer isso (modo de desenho do proprietário). Para obter mais informações sobre mensagens refletidas, consulte Como lidar com mensagens refletidas.

Para criar um controle ActiveX com a mesma funcionalidade, você deve criar um projeto para o controle ActiveX.

Observação

Você não pode adicionar uma mensagem refletida (OCM_Message) a um controle ActiveX usando o Assistente de Classe, conforme descrito abaixo. Você deve adicionar essas mensagens manualmente.

Para definir um manipulador de mensagens para uma mensagem refletida do Assistente de Classe

  1. Adicione um controle, como uma lista, um controle rebar, uma barra de ferramentas ou um controle de árvore, ao seu projeto MFC.

  2. No Modo de Exibição de Classe, clique no nome da classe de controle.

  3. No Assistente de Classe, o nome da classe de controle aparece na lista Nome da Classe.

  4. Clique na guia Mensagens para exibir as mensagens do Windows disponíveis para adicionar ao controle.

  5. Selecione a mensagem refletida para a qual você deseja definir um manipulador. As mensagens refletidas são marcadas com um sinal de igual (=).

  6. Clique na célula na coluna à direita no Assistente de Classe para exibir o nome sugerido do manipulador como <add>HandlerName. (Por exemplo, o manipulador de mensagens =WM_CTLCOLOR sugere <add>CtlColor).

  7. Clique no nome sugerido para aceitar. O manipulador é adicionado ao seu projeto.

  8. Para editar ou excluir um manipulador de mensagens, repita as etapas de 4 a 7. Clique na célula que contém o nome do manipulador para editar ou excluir e clique na tarefa apropriada.

Confira também

Mapeando mensagens para funções
Adicionando funcionalidade com assistentes de código
Adicionando uma classe
Adicionando uma função de membro
Adicionando uma variável de membro
Substituindo uma função virtual
Manipulador de mensagens do MFC
Navegando pela estrutura de classe