TreeItem (type de contrôle)

Cette rubrique fournit des informations sur la prise en charge de Microsoft UI Automation pour le type de contrôle TreeItem .

Le type de contrôle TreeItem représente un nœud dans un conteneur d’arborescence. Chaque nœud peut contenir d’autres nœuds, appelés nœuds enfants. Vous pouvez afficher les nœuds parents, ou nœuds qui contiennent des nœuds enfants, sous forme développée ou réduite.

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 TreeItem . Les spécifications d’UI Automation s’appliquent à tous les contrôles d’élément d’arborescence où l’infrastructure/plateforme d’interface utilisateur 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

Le tableau suivant représente un contrôle classique et une vue de contenu de l’arborescence UI Automation relative aux contrôles d’élément d’arborescence et décrit ce que peut contenir chaque affichage. Pour plus d’informations sur l’arborescence UI Automation, consultez UI Automation Tree Overview.

Affichage de contrôle Affichage de contenu
  • TreeItem
    • CheckBox (0 ou 1)
    • Image (0 ou 1)
    • Button (0 ou 1)
    • TreeItem (0 ou plus)
  • TreeItem
    • TreeItem (0 ou plus)

Les contrôles d’élément d’arborescence peuvent avoir zéro ou plusieurs enfants d’élément d’arborescence dans l’affichage de contenu de l’arborescence UI Automation. Si le contrôle d’élément d’arborescence a des fonctionnalités au-delà de ce qui est exposé dans les modèles de contrôle répertoriés ci-dessous, le contrôle doit être basé sur le type de contrôle DataItem .

Les éléments d’arborescence réduits n’apparaissent pas dans l’affichage de contrôle ou l’affichage du contenu tant qu’ils ne sont pas développés et visibles (ou peuvent être défilés dans l’affichage).

L’affichage de contrôle peut contenir des détails supplémentaires pour un contrôle, notamment une image ou un bouton associé. Par exemple, un élément en mode Plan peut contenir une image, ainsi qu’un bouton pour développer ou réduire le plan. Ces objets de détail n’apparaissent pas dans l’affichage de contenu, car les informations sont déjà représentées par l’élément d’arborescence parent.

Les éléments d’arborescence qui défilent à l’écran apparaissent dans les affichages de contrôle et de contenu de l’arborescence UI Automation et doivent avoir la propriété IUIAutomationElement :: CurrentIsOffscreen (ou CachedIsOffscreen) définie sur true.

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 le type de contrôle TreeItem . 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 Consultez les remarques. Cette propriété doit retourner un emplacement qui entraîne le changement d’état de sélection de l’élément d’arborescence ou le focus.
UIA _ ControlTypePropertyId TreeItem Cette valeur est identique pour toutes les infrastructures d’interface utilisateur.
UIA _ IsContentElementPropertyId TRUE Le contrôle d’élément d’arborescence est toujours inclus dans l’affichage de contenu de l’arborescence UI Automation.
UIA _ IsControlElementPropertyId TRUE Le contrôle d’élément d’arborescence 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é.
UIA _ IsOffscreenPropertyId Consultez les remarques. Cette propriété indique si un contrôle d’élément d’arborescence défile à partir de l’écran.
UIA _ ItemStatusPropertyId Consultez les remarques. Si le contrôle contient l’État mis à jour dynamiquement, cette propriété doit être prise en charge afin qu’une technologie d’assistance puisse recevoir des mises à jour lorsque l’état de l’élément change.
UIA _ ItemTypePropertyId Consultez les remarques. Si le contrôle d’élément d’arborescence utilise une icône visuelle pour indiquer que est un type particulier d’élément, cette propriété doit être prise en charge et doit indiquer le type d’élément.
UIA _ LabeledByPropertyId NULL Les contrôles d’élément d’arborescence créent eux-mêmes leurs étiquettes.
UIA _ LocalizedControlTypePropertyId Consultez les remarques. Chaîne localisée correspondant au type de contrôle TreeItem. La valeur par défaut est « élément d’arborescence » pour en-US ou anglais (États-Unis).
UIA _ NamePropertyId Consultez les remarques. Cette propriété expose le texte affiché pour chaque contrôle d’élément d’arborescence.

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 d’élément d’arborescence. Pour plus d’informations sur les modèles de contrôle, consultez UI Automation Control Patterns Overview.

Modèle de contrôle/Propriété de modèle Prise en charge/valeur Notes
IExpandCollapseProvider Obligatoire Tous les éléments d’arborescence doivent prendre en charge le modèle de contrôle ExpandCollapse , car tous les éléments peuvent être développés ou réduits.
ExpandCollapseState Nœud développé, réduit ou terminal Les éléments d’arborescence sont des nœuds terminaux quand ils ne sont pas développés ou réduits.
IInvokeProvider Dépend Implémentez le modèle de contrôle Invoke si l’élément d’arborescence peut exécuter une commande.
IScrollItemProvider Dépend Implémentez le modèle de contrôle ScrollItem si le conteneur d’arborescence prend en charge le modèle de contrôle Scroll .
ISelectionItemProvider Dépend Implémentez le modèle de contrôle SelectionItem s’il est possible d’avoir une sélection active qui est maintenue quand l’utilisateur retourne au conteneur d’arborescence.
SelectionContainer Obligatoire Cette propriété expose le même conteneur pour tous les éléments du conteneur.

Événements obligatoires

Le tableau suivant répertorie les événements UI Automation nécessaires à la prise en charge des contrôles d’élément d’arborescence. 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é ExpandCollapseExpandCollapseStatePropertyId.
UIA _ Invoke _ InvokedEventId Si le contrôle prend en charge le modèle de contrôle Invoke , il doit prendre en charge cet événement.
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 _ Événement de modification de propriété ItemStatusPropertyId. Si le contrôle prend en charge la propriété ItemStatus , il doit prendre en charge cet événement.
UIA _ Événement de modification de propriété MultipleViewCurrentViewPropertyId. Si le contrôle prend en charge le modèle de contrôle MultipleView , il doit prendre en charge cet événement.
UIA _ Événement de modification de propriété NamePropertyId.
UIA _ SelectionItem _ ElementAddedToSelectionEventId Si le contrôle prend en charge le modèle de contrôle SelectionItem , il doit prendre en charge cet événement.
UIA _ SelectionItem _ ElementRemovedFromSelectionEventId Si le contrôle prend en charge le modèle de contrôle SelectionItem , il doit prendre en charge cet événement.
UIA _ SelectionItem _ ElementSelectedEventId Si le contrôle prend en charge le modèle de contrôle SelectionItem , il doit prendre en charge cet événement.
UIA _ StructureChangedEventId
UIA _ Événement de modification de propriété ToggleToggleStatePropertyId. Si le contrôle prend en charge le modèle de contrôle Toggle , il doit prendre en charge cet événement.
UIA _ Événement de modification de propriété ValueValuePropertyId. Si le contrôle prend en charge le modèle de contrôle value , il doit prendre en charge cet événement.

Notes

Si un élément d’arborescence contient des sous-éléments autres que des nœuds de plan enfants, le fournisseur doit gérer les informations sur les objets enfants avec soin et clairement. Dans UI Automation, l’arborescence est gérée par la hiérarchie d’arborescence elle-même. En ayant un ou plusieurs enfants non-nœud-plan, les différences entre eux et les nœuds de contour enfants réels deviennent gravement ambiguës.

Conceptuel

Vue d'ensemble des types de contrôle UI Automation

Vue d'ensemble d'UI Automation