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
- Propriétés pertinentes
- Modèles de contrôle requis
- Événements obligatoires
- Remarques
- 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 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 |
|---|---|
|
|
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.