Partager via


Architecture des contrôles ActiveX

La technologie des contrôles ActiveX repose sur une base de nombreux objets et interfaces de niveau inférieur dans OLE. Les interfaces exactes disponibles sur un contrôle varient en fonction de ses fonctionnalités. Cette section examine de plus près les fonctionnalités qu’un contrôle peut fournir.

Les contrôles ActiveX sont utilisés pour fournir les blocs de construction permettant de créer des interfaces utilisateur dans les applications. Par exemple, un bouton qui lance une action dans l’application conteneur lorsque l’utilisateur clique dessus est un contrôle simple. Les aspects suivants sont impliqués dans la fourniture de ces blocs de construction d’interface utilisateur :

  • Un contrôle peut être incorporé dans son client conteneur pour prendre en charge une certaine activité d’interface utilisateur au sein du client. Par conséquent, un contrôle doit fournir une représentation visuelle de lui-même lorsqu’il est incorporé dans le conteneur et doit fournir un moyen d’enregistrer son état, par exemple, ses valeurs de propriété et sa position dans son conteneur. Le client doit prendre en charge le fait d’être un conteneur avec des objets incorporés.
  • En activant le contrôle à l’aide d’un clavier ou d’une souris, l’utilisateur final lance une action dans l’application cliente. Par conséquent, un contrôle doit répondre à l’activité du clavier et doit être en mesure de communiquer avec son client afin qu’il puisse notifier son conteneur de ses activités et déclencher des événements dans le client.
  • Le client fournit également généralement un langage de programmation par le biais duquel l’utilisateur final peut lancer des actions fournies par les propriétés et méthodes du contrôle. Par conséquent, un contrôle doit prendre en charge l’automatisation et un ensemble de fonctionnalités au moment de la conception par rapport à l’exécution.

En raison de son rôle dans la fourniture de blocs de construction d’interface utilisateur, un contrôle prend généralement en charge les fonctionnalités dans les domaines suivants à l’aide des technologies OLE, comme indiqué :

Propriétés et méthodes

Comme tout objet OLE, un contrôle peut fournir une grande partie de ses fonctionnalités par le biais d’un ensemble d’interfaces entrantes avec des propriétés et des méthodes. Le conteneur peut fournir des propriétés ambiantes supplémentaires, et il peut prendre en charge l’extension des propriétés du contrôle via l’agrégation. Ces fonctionnalités reposent sur l’automatisation OLE, les pages de propriétés, les objets connectables et les technologies de contrôle ActiveX.

Événements

En plus de fournir des propriétés et des méthodes, un contrôle ActiveX peut également fournir des interfaces sortantes pour notifier son client des événements. Le client doit prendre en charge la gestion de ces événements. Ces fonctionnalités utilisent l’automatisation OLE et des objets connectables.

Représentation visuelle

Un contrôle peut prendre en charge le positionnement et l’affichage dans son conteneur. Le conteneur positionne le contrôle et détermine sa taille. Ces fonctionnalités utilisent la technologie de document composé, notamment la technologie de glisser-déplacer OLE.

Gestion du clavier

Un contrôle peut répondre aux raccourcis clavier afin que l’utilisateur final puisse lancer des actions effectuées par le contrôle. Le conteneur gère l’activité du clavier pour tous ses contrôles incorporés. Ces fonctionnalités utilisent des technologies de contrôle et de documents composés.

Persistance

Un contrôle peut enregistrer son état. Le client gère la persistance de ses contrôles incorporés. Ces fonctionnalités utilisent des technologies de stockage structuré et de persistance d’objets.

Inscription et gestion des licences

Un contrôle prend généralement en charge l’auto-inscription et crée un ensemble d’entrées de Registre lorsqu’il est instancié. Un contrôle peut également être concédé sous licence pour empêcher toute utilisation non autorisée.

La plupart de ces fonctionnalités impliquent à la fois le contrôle et son conteneur client.

Contrôles ActiveX