Partager via


tables d'événements

Chaque fois qu'un contrôle souhaite indiquer à son conteneur qu'une action (déterminée par le développeur de contrôle) s'est produite (par exemple une combinaison de touches, le bouton de la souris, ou une modification à l'état de contrôle) elle appelle une fonction de déclenchement d'un événement. Cette fonction notifie le conteneur de contrôle qu'une action importante s'est produite en déclenchant l'événement associé.

La bibliothèque MFC offre un modèle de programmation optimisé pour déclencher des événements. Dans ce modèle, des « tables d'événements » sont utilisées pour indiquer quelles sont les fonctions qui déclenchent quels événements pour un contrôle donné. Les tables d'événements contiennent une macro pour chaque événement. Par exemple, une table d'événement qui déclenche un événement Clic pourrait se présenter comme suit :

BEGIN_EVENT_MAP(CMyAxCtrl, COleControl)
   EVENT_STOCK_CLICK()
END_EVENT_MAP()

La macro EVENT_STOCK_CLICK indique que le contrôle déclenche un événement Clic chaque fois qu'il détecte un clic de souris. Pour une liste plus détaillée d'autres événements types, consultez l'article Contrôles ActiveX : Événements. Les macros sont également disponibles pour afficher les événements personnalisés.

Bien que les macros de table d'événements sont importantes, on ne les insère généralement pas directement. Ceci est dû au fait que la fenêtre Propriétés crée automatiquement des entrées dans la table des messages dans vos fichiers sources lorsque vous l'utilisez pour associer des fonctions de de déclenchement de messages avec des messages. Lorsque vous souhaitez modifier ou ajouter une entrée dans la table des événements, utilisez la fenêtre Propriétés.

Pour prendre en charge les tables d'événements, MFC fournit les macros suivantes :

Déclaration et démarcation de table d'événement

DECLARE_EVENT_MAP

Indique qu'une table d'événements est utilisée dans une classe pour faire correspondre les événements des fonctions de déclenchement d'événements (doit être utilisé dans la déclaration de classe).

BEGIN_EVENT_MAP

Démarre la définition d'une table d'événement (doit être utilisé dans l'implémentation de classe).

END_EVENT_MAP

Termine la définition d'une table d'événement (doit être utilisé dans l'implémentation de classe).

Macros de mappage d'événement

EVENT_CUSTOM

Indique que la fonction de déclenchement d'un événement déclenche l'événement spécifié.

EVENT_CUSTOM_ID

Indique que la fonction de déclenchement d'un événement déclenche l'événement spécifié, avec un ID d'expédition indiqué.

macros de mappage des messages

ON_OLEVERB

Indique un verbe personnalisé géré par le contrôle OLE.

ON_STDOLEVERB

Remplace un mappage standard de verbe du contrôle OLE.

Voir aussi

Concepts

macro MFC et Globals