Contrôles ActiveX
La technologie des contrôles ActiveX repose sur une base composée d’objets COM, d’objets connectables, de documents composés, de pages de propriétés, d’automatisation OLE, de persistance des objets et d’objets de police et d’image fournis par le système. Comme résumé ci-dessous, chacune de ces technologies de base joue un rôle dans les contrôles.
-
COM
-
Un contrôle est essentiellement un objet COM qui expose l’interface IUnknown , par le biais de laquelle les clients peuvent obtenir des pointeurs vers ses autres interfaces. Les contrôles peuvent prendre en charge les licences via IClassFactory2 et l’auto-inscription. Pour plus d’informations sur COM, les licences et l’auto-inscription, consultez Le modèle objet de composant.
-
Objets connectables
-
Les contrôles peuvent prendre en charge les interfaces sortantes via des objets connectables afin que le contrôle puisse communiquer avec son client. Par exemple, une interface sortante peut déclencher une action dans le client, peut informer le client de certaines modifications apportées au contrôle ou demander l’autorisation du client avant que le contrôle n’effectue une action. Pour plus d’informations sur le fonctionnement des objets connectables, consultez Événements dans les objets COM et connectables .
-
Transfert de données uniforme
-
Les contrôles peuvent prendre en charge le glisser-déposer dans un conteneur avec l’aide de leur conteneur. Pour plus d’informations sur le glisser-déplacer, consultez IOleInPlaceObjectWindowless::GetDropTarget .
-
Documents composés
-
Un contrôle peut être un objet actif sur place qui peut être incorporé dans un client conteneur. Un utilisateur final active le contrôle pour lancer une action dans l’application conteneur. Pour plus d’informations sur l’activation sur place et d’autres interfaces de documents composés, consultez Documents composés .
-
Pages de propriétés
-
Les contrôles peuvent fournir des pages de propriétés afin que les utilisateurs finaux puissent afficher et modifier les propriétés du contrôle. Pour plus d’informations sur le fonctionnement des pages de propriétés, consultez Pages de propriétés et Feuilles de propriétés.
-
Automatisation OLE
-
Les contrôles peuvent fournir une programmabilité via OLE Automation afin que les clients puissent tirer parti des fonctionnalités du contrôle via un langage de programmation fourni par le client. Pour plus d’informations sur OLE Automation, consultez la section OLE Automation.
-
Stockage persistant
-
Un contrôle peut implémenter une ou plusieurs interfaces de persistance pour prendre en charge la persistance de son état. L’implémenteur de contrôle doit décider des types de persistance les plus importants et implémenter les interfaces de persistance appropriées. Le client décide de l’interface qu’il préfère utiliser. Pour plus d’informations sur toutes les interfaces de persistance, consultez Le modèle objet de composant.
-
Objets police et image
-
Les contrôles peuvent utiliser ces objets fournis par le système pour fournir une représentation visuelle d’eux-mêmes au sein du client. L’objet font implémente plusieurs interfaces, notamment IFont et IFontDisp. Un objet de police peut être créé avec OleCreateFontIndirect. L’objet image implémente également plusieurs interfaces, notamment IPicture et IPictureDisp. Un objet image peut être créé à l’aide d’OleCreatePictureIndirect et peut être chargé à partir d’un flux avec OleLoadPicture.
Il est important de comprendre que ces fonctionnalités peuvent être utilisées dans n’importe quel objet OLE. Il n’est pas nécessaire d’implémenter un contrôle pour utiliser ces fonctionnalités. En outre, la seule interface requise sur un contrôle est IUnknown. Le contrôle prend éventuellement en charge d’autres interfaces en fonction de la nécessité de prendre en charge les fonctionnalités associées.
En plus de ces fonctionnalités, les interfaces et fonctions suivantes sont spécifiques à la technologie des contrôles : IOleControl, IOleControlSite, ISimpleFrameSite et OleTranslateColor. Un ensemble de normes pour les propriétés et méthodes qu’un contrôle ou un conteneur de contrôles peut prendre en charge est également spécifique aux contrôles.
Notes
La bibliothèque système OleAut32.dll contient des implémentations des fonctions (OleCreatePropertyFrame, OleCreatePropertyFrameIndirect, OleCreateFontIndirect, OleCreatePictureIndirect, OleLoadPicture et OleTranslateColor). En outre, OleAut32.dll contient les implémentations des objets de police et d’image standard, ainsi qu’une bibliothèque de types pour toutes les interfaces utilisées avec les contrôles, ainsi que les structures de données et les types de données supplémentaires.
Pour plus d'informations, voir les rubriques suivantes :
- Architecture des contrôles ActiveX
- Interfaces des contrôles ActiveX
- Propriétés et méthodes
- Événements de contrôle
- Représentation visuelle
- Gestion du clavier pour les contrôles
- Persistance
- Inscription et gestion des licences
Rubriques connexes