Partager via


Contrôles ActiveX MFC : événements

Les contrôles ActiveX utilisent des événements pour avertir un conteneur que quelque chose s’est produit au contrôle. Parmi les exemples courants d’événements, citons les clics sur le contrôle, les données entrées à l’aide du clavier et les modifications apportées à l’état du contrôle. Lorsque ces actions se produisent, le contrôle déclenche un événement pour alerter le conteneur.

Les événements sont également appelés messages.

MFC prend en charge deux types d’événements : stock et personnalisé. Les événements stock sont ces événements que la classe COleControl gère automatiquement. Pour obtenir la liste complète des événements boursiers, consultez l’article MFC ActiveX Controls : Adding Stock Events. Les événements personnalisés permettent à un contrôle de notifier le conteneur lorsqu’une action spécifique à ce contrôle se produit. Certains exemples seraient une modification de l’état interne d’un contrôle ou de la réception d’un message de fenêtre spécifique.

Pour que votre contrôle déclenche correctement les événements, votre classe de contrôle doit mapper chaque événement du contrôle à une fonction membre qui doit être appelée lorsque l’événement associé se produit. Ce mécanisme de mappage (appelé carte d’événements) centralise les informations sur l’événement et permet à Visual Studio d’accéder facilement aux événements du contrôle et de les manipuler. Ce mappage d’événements est déclaré par la macro suivante, située dans l’en-tête (. Fichier H) de la déclaration de classe de contrôle :

DECLARE_EVENT_MAP()

Une fois la carte d’événements déclarée, elle doit être définie dans l’implémentation de votre contrôle (. Fichier CPP). Les lignes de code suivantes définissent la carte des événements, ce qui permet à votre contrôle de déclencher des événements spécifiques :

BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
END_EVENT_MAP()

Si vous utilisez l’Assistant Contrôle ActiveX MFC pour créer le projet, il ajoute automatiquement ces lignes. Si vous n’utilisez pas l’Assistant Contrôle ActiveX MFC, vous devez ajouter ces lignes manuellement.

Avec l’affichage de classes, vous pouvez ajouter des événements stock pris en charge par des événements de classe COleControl ou personnalisés que vous définissez. Pour chaque nouvel événement, Class View ajoute automatiquement l’entrée appropriée à la carte d’événements du contrôle et au fichier .IDL du contrôle.

Deux autres articles décrivent en détail les événements :

Voir aussi

Contrôles ActiveX MFC
Contrôles ActiveX MFC : méthodes
Classe COleControl