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.
Os controles ActiveX usam eventos para notificar um contêiner de que algo aconteceu com o 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 aciona um evento para alertar o contêiner.
Os eventos também são chamados de mensagens.
O MFC dá suporte a dois tipos de eventos: estoque e personalizado. Eventos de estoque são os eventos que a classe COleControl manipula automaticamente. Para obter uma lista completa de eventos de ações, consulte o artigo Controles ActiveX do MFC: Adicionando eventos de estoque. Eventos personalizados permitem controlar a capacidade de notificar o contêiner quando ocorre uma ação específica a esse controle. Alguns exemplos seriam uma alteração no estado interno de um controle ou recebimento de uma determinada mensagem de janela.
Para que o controle dispare eventos corretamente, sua classe de controle deve mapear cada evento do controle para uma função membro que deve ser chamada quando o evento relacionado ocorrer. Esse mecanismo de mapeamento (chamado de mapa de eventos) centraliza informações sobre o evento e permite que o Visual Studio acesse e manipule facilmente os eventos do controle. Esse mapa de eventos é declarado pela macro a seguir, localizada no cabeçalho (. H) arquivo da declaração de classe de controle:
DECLARE_EVENT_MAP()
Depois que o mapa de eventos tiver sido declarado, ele deverá ser definido na implementação do controle (. Arquivo CPP). As seguintes linhas de código definem o mapa de eventos, permitindo que seu controle dispare eventos específicos:
BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
END_EVENT_MAP()
Se você usar o Assistente de Controle ActiveX do MFC para criar o projeto, ele adicionará automaticamente essas linhas. Se você não usar o Assistente de Controle ActiveX do MFC, deverá adicionar essas linhas manualmente.
Com o Modo de Exibição de Classe, você pode adicionar eventos de estoque compatíveis com eventos personalizados ou de classe COleControl que você definir. Para cada novo evento, o Modo de Exibição de Classe adiciona automaticamente a entrada adequada ao mapa de eventos do controle e ao controle. Arquivo IDL.
Dois outros artigos discutem eventos em detalhes:
Consulte também
Controles MFC ActiveX
Controles ActiveX do MFC: métodos
Classe COleControl