Os controles ActiveX MFC: Eventos

Os controles ActiveX usar 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 as 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 personalizado.Ações eventos são aqueles eventos que classe COleControl manipula automaticamente.Para obter uma lista completa de eventos de ações, consulte o artigo Os controles ActiveX MFC: Adicionando eventos de ação.Eventos personalizados permitem que um controle a capacidade de notificar o contêiner quando ocorre uma ação específica para esse controle.Alguns exemplos seriam uma alterar no estado interno de um controle ou o recebimento de uma determinada mensagem da 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 MAP de evento) centraliza as informações sobre o evento e permite que o Visual Studio acessar e manipular eventos de controle com com facilidade.Isso evento MAP é declarado, a macro a seguir, localizada no arquivo de cabeçalho (.H) da declaração de classe do controle:

DECLARE_EVENT_MAP()

Após ter sido declarado o MAP de eventos, ele deve ser definido no arquivo de implementação (.CPP) do controle.As linhas de código a seguir definem o MAP de evento, permitindo que seu controle acionar eventos específicos:

BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)


...


END_EVENT_MAP()

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

Com Modo de Exibição de Classe, você pode adicionar eventos de ações com suporte de classe COleControl ou eventos personalizados que você define. Para cada novo evento, classe View automaticamente adiciona a entrada correta para o MAP de evento do controle e .idl arquivo do controle.

Dois outros artigos abordam eventos detalhadamente:

Consulte também

Conceitos

Controles do ActiveX MFC

Os controles ActiveX MFC: Métodos

Referência

Classe COleControl