Partager via


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

Ceux-ci sont exposés 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ée sur l’objet site d’un conteneur. Le conteneur appelle la méthode IOleControl::OnAmbientPropertyChange du contrôle lorsque l’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 afin de fournir des propriétés gérées par un conteneur qui semblent être 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 cliente IOleControlSite::GetExtendedControl. La méthode GetExtendedControl permet aux contrôles de naviguer dans le site jusqu’à l’objet de contrôle étendu qui leur est fourni par le conteneur, si le conteneur prend en charge cette fonctionnalité. Un conteneur peut également choisir d’afficher des pages de propriétés pour ses contrôles étendus en plus des pages qu’un contrôle spécifie normalement via ISpecifyPropertyPages. Pour cette raison, un contrôle doit demander à un conteneur d’afficher une image 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, voir les rubriques suivantes :

Méthodes de contrôle