ScrollBar (type de contrôle)
Cette rubrique fournit des informations sur la prise en charge de Microsoft UI Automation pour le type de contrôle ScrollBar .
Les contrôles de barre de défilement permettent à un utilisateur de faire défiler le contenu d’une fenêtre ou d’un conteneur d’élément. Le contrôle se compose d’un ensemble de boutons et d’un contrôle Thumb.
Les sections suivantes définissent l’arborescence, les propriétés, les modèles de contrôle et les événements UI Automation requis pour le type de contrôle ScrollBar . Les exigences d’UI Automation s’appliquent à tous les contrôles de barre de défilement où l’infrastructure d’interface utilisateur/plateforme intègre la prise en charge d’UI Automation pour les types de contrôle et les modèles de contrôle.
Cette rubrique contient les sections suivantes.
- Structure d’arborescence classique
- Propriétés pertinentes
- Modèles de contrôle requis
- Événements obligatoires
- Rubriques connexes
Structure d’arborescence classique
Le tableau suivant représente un contrôle classique et une vue de contenu de l’arborescence UI Automation relative aux contrôles de barre de défilement et décrit ce que peut contenir chaque vue. Pour plus d’informations sur l’arborescence UI Automation, consultez UI Automation Tree Overview.
| Affichage de contrôle | Affichage de contenu |
|---|---|
|
Non applicable. (Le contrôle de barre de défilement n’a pas de contenu.) |
Le contrôle de barre de défilement peut avoir entre zéro et cinq enfants. Étant donné que la sous-arborescence a plusieurs contrôles bouton, l’élément doit définir une valeur UIA _ AutomationIdPropertyId spécifique à chaque élément afin de les rendre détectables pour les outils de test automatisés.
Propriétés pertinentes
Le tableau suivant répertorie les propriétés UI Automation dont la valeur ou la définition est particulièrement pertinente pour les contrôles de barre de défilement. Notez qu’un contrôle de barre de défilement n’a jamais de contenu ; ses fonctionnalités sont exposées via le modèle de contrôle Scroll , qui est pris en charge sur le conteneur faisant l’objet d’un défilement.
Pour plus d’informations sur les propriétés UI Automation, consultez extraction de propriétés à partir d’éléments UI Automation.
| Propriété UI Automation | Valeur | Notes |
|---|---|---|
| UIA _ AutomationIdPropertyId | Consultez les remarques. | La valeur de cette propriété doit être unique parmi tous les éléments homologues de l’affichage brut de l’arborescence UI Automation. |
| UIA _ BoundingRectanglePropertyId | Consultez les remarques. | Rectangle externe qui contient l’ensemble du contrôle. |
| UIA _ ClickablePointPropertyId | NaN | Le contrôle de barre de défilement n’a pas de points interactifs. |
| UIA _ ControlTypePropertyId | ScrollBar | Cette valeur est la même pour toutes les infrastructures. Les barres de défilement qui fonctionnent en tant que curseurs doivent utiliser le type de contrôle Slider . |
| UIA _ IsContentElementPropertyId | FALSE | Le contrôle de barre de défilement n’est jamais un élément de contenu. Si la barre de défilement est un contrôle autonome, elle doit respecter le type de contrôle Slider et retourner UIA _ SliderControlTypeId pour la propriété IUIAutomationElement :: CurrentControlType (ou CachedControlType). |
| UIA _ IsControlElementPropertyId | TRUE | Le contrôle de barre de défilement est toujours inclus dans l’affichage de contrôle de l’arborescence UI Automation. |
| UIA _ IsKeyboardFocusablePropertyId | Consultez les remarques. | Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété. Un contrôle de barre de défilement prend rarement le focus, mais dans ce cas, le focus doit rester sur le contrôle de barre de défilement lui-même, et non sur les boutons enfants ou le curseur de défilement. L’utilisateur doit être en mesure d’effectuer toutes les actions de défilement à l’aide des touches haut et bas (ou flèche droite et gauche), ou des touches PG. suiv et PG. suiv. |
| UIA _ LabeledByPropertyId | NULL | Les barres de défilement n’ont pas d’étiquettes. |
| UIA _ LocalizedControlTypePropertyId | Consultez les remarques. | Chaîne localisée correspondant au type de contrôle ScrollBar . La valeur par défaut est « barre de défilement » pour en-US ou anglais (États-Unis). |
| UIA _ NamePropertyId | NULL | Le contrôle de barre de défilement n’a pas d’éléments de contenu et la propriété UIA _ NamePropertyId ne doit pas être définie. |
| UIA _ OrientationPropertyId | Consultez les remarques. | Le contrôle de barre de défilement doit toujours exposer son orientation horizontale ou verticale. |
Modèles de contrôle requis
Le tableau suivant répertorie les modèles de contrôle UI Automation qui doivent être pris en charge par tous les contrôles de barre de défilement. Pour plus d’informations sur les modèles de contrôle, consultez UI Automation Control Patterns Overview.
Notes
Quand une barre de défilement est utilisée comme contrôle uniquement pour la manipulation de la souris, elle ne prend pas en charge les modèles de contrôle. S’il est utilisé comme un contrôle Slider dans une application, le type de contrôle Slider doit lui être attribué.
| Modèle de contrôle | Support | Notes |
|---|---|---|
| IRangeValueProvider | Dépend | Le modèle de contrôle RangeValue ne doit être pris en charge que si le modèle de contrôle Scroll n’est pas pris en charge sur le conteneur qui a la barre de défilement. |
| IScrollProvider | Jamais | Le modèle de contrôle Scroll n’est jamais directement pris en charge sur la barre de défilement. |
Événements obligatoires
Le tableau suivant répertorie les événements UI Automation nécessaires à la prise en charge des contrôles de barre de défilement. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.
| Événement UI Automation | Notes |
|---|---|
| UIA _ AutomationFocusChangedEventId | |
| UIA _ Événement de modification de propriété BoundingRectanglePropertyId. | |
| UIA _ Événement de modification de propriété IsEnabledPropertyId. | Si le contrôle prend en charge la propriété IsEnabled , il doit prendre en charge cet événement. |
| UIA _ Événement de modification de propriété IsOffscreenPropertyId. | Si le contrôle prend en charge la propriété IsOffscreen , il doit prendre en charge cet événement. |
| UIA _ StructureChangedEventId | |
| UIA _ Événement de modification de propriété RangeValueValuePropertyId. | Si le contrôle prend en charge le modèle de contrôle RangeValue , il doit prendre en charge cet événement. |