Contrôles ActiveX MFC : ajouter des méthodes stock
Une méthode stock diffère d'une méthode personnalisée en ce qu'elle est déjà implémentée par la classe COleControl. Par exemple, COleControl contient une fonction membre prédéfinie qui prend en charge la méthode d'actualisation pour le contrôle. L'entrée de dispatch pour cette méthode stock est DISP_STOCKFUNC_REFRESH.
'COleControl prend en charge deux méthodes stock : DoClick et l'actualisation. L'actualisation est appelée par l'utilisateur du contrôle pour mettre à jour immédiatement l'apparence du contrôle ; DoClick est appelé pour déclencher l'événement Click du contrôle.
Méthode |
Entrée de dispatch |
Commentaire |
---|---|---|
DoClick |
DISP_STOCKPROP_DOCLICK( ) |
Déclenche un événement Click. |
Actualiser |
DISP_STOCKPROP_REFRESH( ) |
Met à jour immédiatement l'apparence du contrôle. |
Ajouter une méthode magasin à l'aide de l'assistant Ajout de méthode
Ajouter une méthode stock est simple en utilisant l'Assistant Ajout de méthode. La procédure suivante montre comment ajouter la méthode d'actualisation à un contrôle créé à l'aide de l'Assistant Contrôle ActiveX de MFC.
Pour ajouter la méthode stock Actualiser en utilisant l'Assistant Ajout de Méthode
Chargez votre projet de contrôle.
Sous Class View, développez l'arborescence de votre librairie.
Cliquez avec le bouton droit sur le nœud de votre interface (le deuxième nœud de l'arborescence de la librairie) pour ouvrir le menu contextuel.
Dans le menu contextuel, cliquez sur Ajouter, puis sur Ajouter une Méthode.
Cela ouvre l'Assistant Ajout de la méthode.
Dans la zone de Nom de méthode, cliquez sur Actualiser.
Cliquez sur Terminer.
Modifications de l'Assistant Ajout de la méthode pour les méthodes de stock
Comme la méthode de stock Actualiser est prise en charge par la classe de base du contrôle, l'Assistant Ajout de méthode ne modifie pas la déclaration de classe du contrôle de quelque manière que ce soit. Elle ajoute une entrée pour la méthode à la table de dispatch du contrôle et à son fichier .IDL. La ligne suivante est ajoutée à la table de dispatch de contrôle, située dans le fichier d'implémentation (.CPP) :
DISP_STOCKFUNC_REFRESH()
Cela rend la méthode Actualiser disponible aux utilisateurs du contrôle.
La ligne suivante est ajoutée au fichier .IDL :
[id(DISPID_REFRESH), helpstring("method Refresh")] void Refresh(void);
Cette ligne affecte à la méthode d'actualiser un ID spécifique.