Partager via


Contrôles ActiveX MFC : événements

Les contrôles ActiveX utilisent des événements pour avertir un conteneur que quelque chose est arrivé au contrôle. Les exemples classiques d'événements incluent les clics sur le contrôle, les entrées de données utilisant le clavier, et les modifications de l'état du contrôle. Lorsque ces actions se produisent, le contrôle déclenche un événement pour avertir le conteneur.

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

MFC prend en charge deux types d'événements : actions et personnalisés. Les événements Stock sont les événements qui classent les gestions de COleControl automatiquement. Pour obtenir une liste complète des événements Stock, consultez l'article Contrôles ActiveX MFC : Ajouter des événements Stock. Les événements personnalisés permettent un contrôle de la capacité à informer le conteneur lorsqu'une action spécifique à ce contrôle se produit. Certains exemples seront une modification dans l'état interne d'un contrôle ou de la réception d'une fenêtre d'information.

Pour que le contrôle déclenche les événements correctement, votre classe de contrôle doit associer 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é table d'événement) centralise des informations sur l'événement et Visual Studio permet d'accéder facilement et manipule les événements du contrôle. Cette table d'événements est déclarée par la macro suivante, placée dans le fichier d'en-tête (.H) de la déclaration de classe de contrôle :

DECLARE_EVENT_MAP()

Une fois la table d'événements déclarée, elle doit être définie dans le fichier (.CPP) à l'implémentation de votre contrôle. Les lignes suivantes du code définissent la table d'événement, qui permet le contrôle des événements spécifiques de l'exécution :

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 le Contrôle ActiveX MFC, vous devez ajouter manuellement ces lignes.

Avec l'Affichage de classe, vous pouvez ajouter des événements stock pris en charge par la classe COleControl ou des événements personnalisés que vous définissez. Pour chaque nouvel événement, l'Affichage de classe ajoute automatiquement l'entrée correspondant à la table d'événement du contrôle et le fichier .IDL du contrôle.

Deux autres articles traitent des événements en détail :

Voir aussi

Référence

COleControl, classe

Concepts

Contrôles ActiveX MFC

Contrôles ActiveX MFC : méthodes