Cartes événement

Chaque fois qu'un contrôle souhaite aviser son conteneur que certaines actions (déterminée par le développeur de contrôle) qui s'est passé (comme une séquence de touches, clic de souris ou un changement de l'État du contrôle), il appelle une fonction de déclenchement des événements. Cette fonction avertit le conteneur de contrôle qui a une action importante a eu lieu l'événement connexes.

La bibliothèque Microsoft Foundation Class offre un modèle de programmation optimisé pour la cuisson des événements. Dans ce modèle, « événement cartes » sont utilisés pour désigner les fonctions feu quels événements pour un contrôle particulier. Cartes événement contient une macro pour chaque événement. Par exemple, une carte de l'événement qui déclenche un événement Click stock pourrait ressembler à ceci:

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

La macro EVENT_STOCK_CLICK indique que le contrôle déclenche un événement Click du bouton stock chaque fois qu'il détecte un clic de souris. Pour une liste plus détaillée des autres événements stocks, consultez l'article contrôles ActiveX : événements dans le Guide du programmeur Visual C++. Les macros sont également disponibles pour indiquer les événements personnalisés.

Bien que l'événement-carte macros sont importants, vous généralement n'insérez directement. C'est parce que ClassWizard crée automatiquement des entrées de la carte-événement dans vos fichiers source lorsque vous l'utilisez pour associer des fonctions de déclenchement des événements avec des événements. N'importe quel moment que vous souhaitez modifier ou ajouter une entrée d'événement-carte, vous pouvez utiliser l'Assistant classe.

À l'appui des cartes événement, MFC fournit les macros suivantes:

Démarcation et déclaration de l'événement (carte)

DECLARE_EVENT_MAP Déclare qu'une carte d'événement servira dans une classe à la carte des événements à des fonctions de déclenchement des événements (doit être utilisé dans la déclaration de classe).
BEGIN_EVENT_MAP Commence la définition d'une carte d'événement (doit être utilisé dans l'implémentation de la classe).
END_EVENT_MAP Termine la définition d'une carte d'événement (doit être utilisé dans l'implémentation de la classe).

Événement cartographie Macros

EVENT_CUSTOM Indique quelle fonction tir événement déclenche l'événement spécifié.
EVENT_CUSTOM_ID Indique quelle fonction tir événement déclenche l'événement spécifié, avec un ID de dispatch désigné.

Macros de cartographie de message

ON_OLEVERB Indique un verbe personnalisé géré par le contrôle OLE.
ON_STDOLEVERB Substitue un mappage verb standard du contrôle OLE.

Index