Propriétés du contrôle
Outre les propriétés définies et implémentées par le contrôle lui-même, la technologie des contrôles ActiveX implique également :
-
propriétés ambiantes
-
Elles sont exposées par le conteneur via un site client de contrôle pour fournir des valeurs environnementales qui s’appliquent à tous les contrôles incorporés dans le conteneur. Par exemple, un conteneur peut fournir une couleur d’arrière-plan par défaut ou une police par défaut que le contrôle peut utiliser. Les propriétés ambiantes sont exposées via IDispatch implémentées sur l’objet de site d’un conteneur. Le conteneur appelle la méthode IOleControl ::OnAmbientPropertyChange du contrôle lorsqu’une de ses propriétés ambiantes change de valeur. En réponse, un contrôle peut avoir besoin de mettre à jour son propre état interne ou visuel en réponse. Le conteneur indique quelle propriété ambiante a changé avec le paramètre DISPID ou peut passer DISPID_UNKNOWN pour indiquer que plusieurs propriétés ambiantes ont changé.
-
propriétés étendues
-
Ils sont en fait implémentés par un conteneur pour encapsuler les contrôles qu’il contient pour fournir des propriétés gérées par conteneur qui apparaissent comme s’ils étaient des propriétés de contrôle natives. Le conteneur peut agréger le contrôle, en ajoutant les propriétés étendues pour compléter ou remplacer les propriétés du contrôle. L’objet agrégé est appelé contrôle étendu. Dans le conteneur, le contrôle étendu apparaît comme le contrôle lui-même et les propriétés étendues semblent être exposées par le contrôle. Le conteneur prend en charge un contrôle étendu via sa méthode de site client IOleControlSite ::GetExtendedControl. La méthode GetExtendedControl permet aux contrôles de parcourir le site vers l’objet de contrôle étendu fourni pour eux par le conteneur, si le conteneur prend en charge cette fonctionnalité. Un conteneur peut également choisir d’afficher les pages de propriétés de ses contrôles étendus en plus de ces pages qu’un contrôle spécifierait normalement via ISpecifyPropertyPages. En raison de cela, un contrôle doit demander à un conteneur d’afficher une trame de propriété avant que le contrôle tente de le faire lui-même. Le contrôle appelle IOleControlSite ::ShowPropertyFrame pour ce faire. Si le conteneur implémente cette fonction, il affiche le cadre de propriété lui-même ; si la méthode retourne une erreur, le contrôle peut afficher le cadre de propriété.
Pour plus d’informations, consultez les rubriques suivantes :
- propriétés standard
- d’objets police standard
- objet Image standard
Rubriques connexes