Contrôles (COM)
Un contrôle ActiveX n’est vraiment qu’un autre terme pour l’objet OLE ou plus spécifiquement, l’objet COM. En d’autres termes, un contrôle, au moins, est un objet COM qui prend en charge l’interface IUnknown et 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 que nécessaire, au lieu de prendre en charge un grand nombre d’interfaces qui ne font rien. En bref, cette exigence minimale pour rien de plus que IUnknown permet à n’importe quel contrôle d’être aussi léger que possible.
En bref, à part IUnknown et l’autoinscription, il n’existe aucune autre exigence pour un contrôle. Toutefois, il existe des conventions qui doivent être suivies sur 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 qu’il signifie pour un contrôle de prendre en charge réellement une interface, ainsi que des méthodes, des propriétés et des événements qu’un contrôle doit fournir comme base de référence s’il a l’occasion de prendre en charge les méthodes, les propriétés et les événements.
Pour plus d’informations, consultez les rubriques suivantes :
- auto-inscription pour les contrôles
- Quelle prise en charge d’une interface signifie
- interfaces de persistance
- méthodes facultatives dans les interfaces de contrôle
- Options d’usine de classe
- Exposing Properties through IDispatch
- méthodes d’exposition via iDispatch
- événements dans les contrôles
- pages de propriétés
- propriétés ambiantes pour les contrôles
- à l’aide des fonctionnalités du conteneur
Rubriques connexes