Type de contrôle TreeItem

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’arborescences. 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 les UI Automation nécessaires à l’arborescence, aux propriétés, aux modèles de contrôle et aux événements pour le type de contrôle TreeItem. Les exigences UI Automation s’appliquent à tous les contrôles d’éléments d’arborescence où l’infrastructure/plateforme d’interface utilisateur intègre UI Automation prise en charge des types de contrôles et des modèles de contrôle.

Cette rubrique contient les sections suivantes.

Arborescence standard

Le tableau suivant illustre une vue de contrôle et de contenu classique de l’arborescence UI Automation qui se rapporte aux contrôles d’élément d’arborescence et décrit ce qui peut être contenu dans chaque vue. Pour plus d’informations sur l’arborescence UI Automation, consultez Vue d’ensemble de l’arborescence UI Automation.

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 comporter zéro ou plusieurs enfants d’élément d’arborescence dans l’affichage du 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 de contenu tant qu’ils ne sont pas développés et visibles (ou peuvent être défilements 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 font défiler 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 UI Automation propriétés, consultez Récupération 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 dans la vue brute 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 amène l’élément d’arborescence à modifier l’état de sélection ou à devenir prioritaire.
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 du 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 est défilé hors de l’écran.
UIA_ItemStatusPropertyId Consultez les remarques. Si le contrôle contient status mis à jour dynamiquement, cette propriété doit être prise en charge afin qu’une technologie d’assistance puisse recevoir des mises à jour lorsque la status 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 qu’il s’agit d’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 feuilles lorsqu’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’arborescences 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 conservée lorsque l’utilisateur retourne au conteneur d’arborescences.
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 que les contrôles d’éléments d’arborescence doivent prendre en charge. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.

Événement UI Automation Notes
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId’événement de modification de propriété.
UIA_ExpandCollapseExpandCollapseStatePropertyId’événement de modification de propriété.
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_IsEnabledPropertyId’événement de modification de propriété. Si le contrôle prend en charge la propriété IsEnabled , il doit prendre en charge cet événement.
UIA_IsOffscreenPropertyId’événement de modification de propriété. Si le contrôle prend en charge la propriété IsOffscreen , il doit prendre en charge cet événement.
UIA_ItemStatusPropertyId’événement de modification de propriété. Si le contrôle prend en charge la propriété ItemStatus , il doit prendre en charge cet événement.
UIA_MultipleViewCurrentViewPropertyId’événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle MultipleView , il doit prendre en charge cet événement.
UIA_NamePropertyId événement de modification de propriété.
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_ToggleToggleStatePropertyId’événement de modification de propriété. Si le contrôle prend en charge le modèle de contrôle Bascule , il doit prendre en charge cet événement.
UIA_ValueValuePropertyId événement de modification de propriété. 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 a des sous-éléments autres que des nœuds de plan enfants, le fournisseur doit gérer les informations d’objet enfant avec soin et clarté. 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 de plan, les différences entre eux et les nœuds de contour enfants réels deviennent sérieusement ambiguës.

Conceptuel

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

Vue d'ensemble d'UI Automation