Contrôles ActiveX MFC : événements
Les contrôles ActiveX utilisent des événements pour informer un conteneur que quelque chose est arrivé au contrôle.Les exemples les plus courants les événements suivants clique sur le contrôle, données qu'à l'aide de le clavier, et modifications dans l'état du contrôle.Lorsque ces actions qui se produisent, le contrôle déclenche un événement afin d'avertir le conteneur.
Des événements sont également appelés messages.
MFC prend en charge deux types d'événements : actions et personnalisé.Les événements stock sont ces événements que la classe COleControl gère automatiquement.Pour une liste complète d'événements stock, consultez l'article Contrôles ActiveX MFC : ajouter des événements stock.Les événements personnalisés permettent à un contrôle la capacité d'informer le conteneur lorsqu'un détail d'action à ce contrôle se produit.Certains exemples sont une modification de l'état interne d'un contrôle ou d'une réception d'un message de fenêtre.
Pour que votre contrôle déclenche des événements correctement, 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é une table d'événements) centralise les informations sur l'événement et permet à Visual Studio d'accéder et de manipuler aux événements du contrôle.Cette table d'événements est déclarée par la macro suivante, située dans l'en-tête (. h) fichier de la déclaration de classe de contrôle :
DECLARE_EVENT_MAP()
Une fois la table d'événements a été déclaré, elle doit être définie dans le fichier d'implémentation de votre contrôle (.CPP).Les lignes de code suivantes définissent la table d'événements, où votre contrôle aux événements spécifiques du feu :
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 la classe COleControl ou les événements personnalisés que vous définissez.Pour chaque nouvel événement, l'Affichage de classes ajoute automatiquement l'entrée appropriée dans la table d'événements du contrôle et au fichier .IDL du contrôle.
Deux autres éléments à traiter les événements en détail :