Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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: