Controles de ActiveX MFC: eventos

Controles de ActiveX usam eventos para notificar um contêiner que algo aconteceu ao controle.Exemplos comuns de eventos incluem cliques no controle dados inseridos usando o teclado e alterações no estado do controle.Quando essas ações ocorrem, o controle dispara um evento para alertar o contêiner.

Eventos também são chamados de mensagens.

MFC oferece suporte a dois tipos de eventos: ações e personalizados.Ações são os eventos de classe COleControl manipula automaticamente.Para obter uma lista completa de eventos de ações, consulte o artigo controles de ActiveX de MFC: adicionando eventos de ações.Eventos personalizados permitem um controle a capacidade de notificar o contêiner quando ocorre uma ação específica para esse controle.Alguns exemplos seria uma alteração no estado interno de um controle ou o recebimento de uma determinada mensagem de janela.

Para o seu controle acionar eventos corretamente, sua classe de controle deve mapear cada evento do controle para uma função de membro deve ser chamada quando ocorre o evento relacionado.Esse mecanismo de mapeamento (chamado de um mapa de evento) centraliza informações sobre o evento e permite Visual Studio facilmente acessar e manipular eventos de controle.Este mapa de eventos é declarado, a macro a seguir, localizada no cabeçalho (.H) o arquivo da declaração de classe do controle:

DECLARE_EVENT_MAP()

Após ter sido declarado do mapa de evento, devem ser definido na implementação do controle (.Arquivo CPP).Linhas de código a seguir definem o mapa de evento, permitindo que seu controle acionar eventos específicos:

BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)


...


END_EVENT_MAP()

Se você usar o Assistente de controle de ActiveX do MFC para criar o projeto, ele adiciona automaticamente essas linhas.Se você não usar o Assistente de controle de ActiveX do MFC, você deve adicionar essas linhas manualmente.

Com o modo de exibição de classe, você pode adicionar eventos ações suportados pela classe COleControl ou eventos personalizados que você definir.Para cada novo evento, exibição de classe adiciona automaticamente a entrada correta para mapa de evento do controle e o controle.Arquivo IDL.

Dois outros artigos discutem eventos detalhadamente:

Consulte também

Referência

Classe COleControl

Conceitos

Controles de ActiveX do MFC

Controles de ActiveX MFC: métodos