Contrôles (COM)
Un contrôle ActiveX n’est en fait qu’un autre terme pour un objet OLE ou, plus spécifiquement, un objet COM. En d’autres termes, un contrôle, au moins, est un objet COM qui prend en charge l’interface IUnknown et qui est également auto-inscrit. Grâce à IUnknown::QueryInterface , un conteneur peut gérer la durée de vie du contrôle et découvrir dynamiquement l’étendue complète des fonctionnalités d’un contrôle en fonction des interfaces disponibles. Cela permet à un contrôle d’implémenter aussi peu de fonctionnalités qu’il en a besoin, au lieu de prendre en charge un grand nombre d’interfaces qui ne font rien. En bref, cette exigence minimale pour rien de plus qu’IUnknown permet à n’importe quel contrôle d’être aussi léger qu’il le peut.
En bref, à part IUnknown et auto-inscription, il n’existe aucune autre exigence pour un contrôle. Toutefois, il existe des conventions qui doivent être suivies sur ce que signifie la prise en charge d’une interface en termes de fonctionnalités fournies au conteneur par le contrôle. Cette section décrit ensuite ce que signifie qu’un contrôle prend réellement en charge une interface, ainsi que les méthodes, les propriétés et les événements qu’un contrôle doit fournir comme base de référence s’il a l’occasion de prendre en charge des méthodes, des propriétés et des événements.
Pour plus d'informations, voir les rubriques suivantes :
- Inscription automatique pour les contrôles
- Qu’est-ce que la prise en charge d’une interface signifie
- Interfaces de persistance
- Méthodes facultatives dans les interfaces de contrôle
- Options de fabrique de classes
- Exposition de propriétés via IDispatch
- Exposition de méthodes via IDispatch
- Événements dans les contrôles
- Pages de propriétés
- Propriétés ambiantes pour les contrôles
- Utilisation des fonctionnalités du conteneur
Rubriques connexes