Mapas de eventos

Sempre que um Controlarar deseja notificar seu contêiner que alguma ação (determinada pelo desenvolvedor de Controlarar) aconteceu (como um pressionamento de tecla, clique do mouse ou uma mudança de estado do controle) chama uma função de acionamento do evento. Essa função notifica o contêiner de Controlarar que alguma ação importante ocorreu por disparar o evento relacionado.

O Microsoft Foundation Biblioteca de Classees oferece um modelo de programação otimizado para acionar eventos. Nesse modelo, "evento mapeia" são usadas para designar quais funções disparar os eventos para um Controlarar específico. Mapas de evento contém uma macro para cada evento. Por exemplo, um mapa de evento que aciona um estoque clique evento pode parecer como este:

BEGIN_EVENT_MAP (CSampleCtrl, COleControl)
   //{{AFX_EVENT_MAP(CSampleCtrl)
   (EVENT_STOCK_CLICK)
   //}}AFX_EVENT_MAP
END_EVENT_MAP()

A macro EVENT_STOCK_CLICK indica que o Controlarar irá disparar um estoque clique evento sempre que detecta um clique do mouse. Para uma lista mais detalhada de outros eventos de ações, consulte o artigo controles ActiveX: eventos no Guia do programador do Visual C++. As macros também são disponíveis para indicar eventos personalizados.

Embora as macros de mapa de evento são importantes, você geralmente não inseri-los diretamente. Isto é porque o ClassWizard cria automaticamente entradas de mapa de evento nos arquivos de origem quando você usá-lo para associar funções de acionamento de evento eventos. Qualquer hora que você deseja editar ou adicionar uma entrada de mapa de evento, você pode usar ClassWizard.

Para oferecer suporte a mapas de eventos, MFC fornece as seguintes macros:

Demarcação e declaração do mapa de evento

DECLARE_EVENT_MAP Declara que um mapa de eventos será usado em uma classe para mapear eventos para funções de acionamento de evento (devem ser usadas na declaração da classe).
BEGIN_EVENT_MAP Inicia a definição de um mapa de eventos (deve ser usado na implementação de classe).
END_EVENT_MAP Finaliza a definição de um mapa de eventos (deve ser usado na implementação de classe).

Macros de mapeamento de eventos

EVENT_CUSTOM Indica qual função eventos-acionamento acionará o evento especificado.
EVENT_CUSTOM_ID Indica qual função eventos-acionamento acionará o evento especificado, com um ID de expedição designado.

Mensagem mapeamento Macros

ON_OLEVERB Indica um verbo Personalizar Tratado pelo Controlarar OLE.
ON_STDOLEVERB Substitui um mapeamento de verbo padrão do Controlarar OLE.

Index