Contrôles ActiveX MFC : méthodes
Un contrôle ActiveX déclenche des événements pour communiquer entre lui-même et son conteneur de contrôle.Un conteneur peut également communiquer avec un contrôle au moyen de méthodes et propriétés.Les méthodes sont également appelées fonctions.
Les méthodes et les propriétés fournissent une interface exportée pour une utilisation par d'autres applications, telles que les conteneurs de clients Automation et contrôle ActiveX.Pour plus d'informations sur les propriétés du contrôle ActiveX, consultez l'article Contrôles ActiveX MFC : propriétés.
Les méthodes sont en cours de utilisation semblable et objectif aux fonctions membres de la classe C++.Il existe deux types de méthodes que votre contrôle peut appliquer : actions et personnalisé.Semblable aux événements stock, les méthodes de cotations boursières sont des méthodes pour lesquelles COleControl fournit une implémentation.Pour plus d'informations sur les méthodes boursières, consultez l'article Contrôles ActiveX MFC : ajouter des méthodes stock.Les méthodes personnalisées, définies par le développeur, permettent une personnalisation supplémentaire du contrôle.Pour plus d'informations, consultez l'article Contrôles ActiveX MFC : Méthodes personnalisées d'addition.
La bibliothèque MFC (microsoft foundation class) implémente un mécanisme qui permet à votre contrôle aux méthodes stock et personnalisées de stockage.La première partie est classe COleControl.Dérivé d' CWnd, méthodes d'action du support de fonctions membres d' COleControl communes à tous les contrôles ActiveX.La deuxième partie de ce mécanisme est la table de dispatch.Une table de dispatch est semblable à une table des messages ; toutefois, au lieu de mapper une fonction à un ID de message windows, une table de dispatch mappe les fonctions membres virtuelles aux IDENTIFICATEURS IDispatch.
Pour qu'un contrôle prenne en charge différentes méthodes correctement, sa classe doit déclarer une table de dispatch.Cela est accompli par la ligne de code suivante trouve dans l'en-tête de contrôle de classe (. h) fichier :
DECLARE_DISPATCH_MAP()
L'objectif principal de la table de dispatch est de générer la relation entre les noms de méthodes utilisés par un appelant externe (tel que le conteneur) et les fonctions membres de la classe du contrôle qui implémentent les méthodes.Une fois la table de dispatch a été déclarée, elle doit être définie dans le fichier d'implémentation du contrôle (.CPP).Les lignes de code suivantes définissent la table de dispatch :
BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
...
END_DISPATCH_MAP()
Si vous avez utilisé L'Assistant Contrôle ActiveX MFC pour créer le projet, ces lignes ont été ajoutées automatiquement.Si l'Assistant Contrôle ActiveX MFC n'a pas été utilisé, vous devez ajouter ces lignes manuellement.
Les éléments suivants décrivent des méthodes en détail :