Mapas de evento
Sempre que um controle desejar notificar o contêiner que qualquer ação (determinada pelo desenvolvedor de controle) aconteceu (como um pressionamento da tecla, clique em do mouse, ou uma alteração no estado de controle) chama uma função de evento acionado. Essa função notifica o contêiner do controle que qualquer ação importante acionando ocorreu o evento relacionado.
A biblioteca de classes do Microsoft oferece um modelo de programação otimizado acionando eventos. Neste modelo, “evento” mapas são usados para designar que o acionamento das funções que eventos para um controle específico. O evento contêm uma macro para cada evento. Por exemplo, um mapa de evento que com um evento de estoque em pode ter esta aparência:
BEGIN_EVENT_MAP(CMyAxCtrl, COleControl)
EVENT_STOCK_CLICK()
END_EVENT_MAP()
A macro de EVENT_STOCK_CLICK indica que o controle será acionado um evento de estoque em todas as vezes que detecta um clique do mouse. Para uma lista mais detalhada de outros eventos de estoque, consulte o artigo Controles ActiveX: Eventos. Macros também estão disponíveis para indicar eventos personalizados.
Embora as macros de evento o mapa são importantes, geralmente você não insere os diretamente. Isso é porque a janela Propriedades cria automaticamente entradas de evento o mapa em seus arquivos de origem quando você usa para associar a funções de eventos acionamento com os eventos. Quando você deseja editar ou adicionar uma entrada ao evento mapa, você pode usar a janela Propriedades.
Para dar suporte aos mapas de evento, MFC o fornece os seguintes macros:
Declaração e delimitação do mapa de evento
Declara que um mapa de evento será usado em uma classe para mapear eventos para as funções do evento (acionamento deve ser usado na declaração de classe). |
|
Inicia a definição de um mapa de evento (deve ser usado na implementação da classe). |
|
Termina a definição de um mapa de evento (deve ser usado na implementação da classe). |
Macros de mapeamento de evento
Indica que eventos função de acionamento acionará o evento especificado. |
|
Indica que eventos função de acionamento acionará o evento especificado, com uma ID designada de distribuição |
Macros de mapeamento de mensagem
Indica um verbo personalizado tratado pelo controlador OLE. |
|
Substitui um mapeamento padrão do verbo de controlador OLE. |