Vue d'ensemble des modèles de contrôle UI Automation
Un modèle de contrôle est une implémentation d’interface qui expose un aspect particulier des fonctionnalités d’un contrôle aux applications clientes Microsoft UI Automation. Les clients utilisent les propriétés et méthodes exposées via un modèle de contrôle pour récupérer des informations sur une fonctionnalité particulière du contrôle ou pour manipuler un aspect particulier du comportement du contrôle. Par exemple, un contrôle qui présente une interface tabulaire utilise le modèle de contrôle Grid pour exposer le nombre de lignes et de colonnes dans la table, et pour permettre à un client de récupérer des éléments de la table.
UI Automation utilise des modèles de contrôle pour représenter les comportements de contrôle courants. Par exemple, vous utilisez le modèle de contrôle Appeler pour les contrôles qui peuvent être appelés, tels que les boutons, et le modèle de contrôle Scroll pour les contrôles qui ont des barres de défilement, telles que des zones de liste, des affichages de liste ou des zones de liste déroulante. Étant donné que chaque modèle de contrôle représente une fonctionnalité distincte, les modèles de contrôle peuvent être combinés pour décrire l’ensemble complet des fonctionnalités prises en charge par un contrôle particulier.
Notes
Un contrôle d’agrégation est créé avec des contrôles enfants qui fournissent l’interface utilisateur pour les fonctionnalités exposées par le parent, et le parent doit implémenter tous les modèles de contrôle qui sont généralement associés à ses contrôles enfants. Il n’est pas nécessaire que ces mêmes modèles de contrôle soient, à leur tour, implémentés par les contrôles enfants.
Cette rubrique contient les sections suivantes :
- Composants des modèles de contrôle UI Automation
- Modèles de contrôle dans les fournisseurs et les clients
- Modèles de contrôle dynamique
- Modèles de contrôle et interfaces associées
- Rubriques connexes
Composants des modèles de contrôle UI Automation
Les modèles de contrôle prennent en charge les méthodes, les propriétés, les événements et les relations nécessaires pour définir une partie discrète des fonctionnalités disponibles dans un contrôle.
- Les méthodes permettent aux clients UI Automation de manipuler le contrôle.
- Les propriétés et les événements fournissent des informations sur les fonctionnalités et l’état du contrôle.
- La relation entre un élément UI Automation et ses parents, enfants et frères décrit la structure de l’élément dans l’arborescence UI Automation.
Les modèles de contrôle se rapportent à des contrôles similaires à la façon dont les interfaces sont liées aux objets COM (Component Object Model). Dans COM, vous pouvez interroger un objet pour demander quelles interfaces il prend en charge, puis utiliser ces interfaces pour accéder aux fonctionnalités. Dans UI Automation, les clients peuvent demander à un contrôle quels modèles de contrôle il prend en charge, puis interagir avec le contrôle via les propriétés, méthodes, événements et structures exposés par les modèles de contrôle pris en charge.
Modèles de contrôle dans les fournisseurs et les clients
UI Automation fournisseurs implémentent des interfaces de modèle de contrôle pour exposer le comportement approprié pour une fonctionnalité spécifique prise en charge par le contrôle. Ces interfaces ne sont pas directement exposées aux clients, mais sont utilisées par le UI Automation cœur pour implémenter un autre ensemble d’interfaces clientes. Par exemple, un fournisseur expose la fonctionnalité de défilement à UI Automation via IScrollProvider, et UI Automation expose les fonctionnalités aux clients via IUIAutomationScrollPattern.
Modèles de contrôle dynamique
Certains contrôles ne prennent pas toujours en charge le même ensemble de modèles de contrôle. Par exemple, un contrôle d’édition multiligne active le défilement vertical uniquement lorsqu’il contient plus de lignes de texte que ne peut être affiché dans sa zone visible. Le défilement est désactivé lorsque tout le texte peut s’afficher dans la zone prévue à cet effet. Pour cet exemple, IUIAutomationScrollPattern est pris en charge dynamiquement, en fonction de la quantité de texte dans la zone d’édition.
Modèles de contrôle et interfaces associées
Le tableau suivant décrit les modèles de contrôle UI Automation. Le tableau répertorie également les interfaces de fournisseur utilisées pour implémenter les modèles de contrôle, ainsi que les interfaces clientes utilisées pour y accéder.
Name | Interface du fournisseur | Interface client | Description |
---|---|---|---|
Annotation | IAnnotationProvider | IUIAutomationAnnotationPattern | Permet d’exposer les propriétés d’une annotation dans un document, par exemple les commentaires dans la marge qui sont connectés au texte du document. |
Dock | IDockProvider | IUIAutomationDockPattern | Utilisé pour les contrôles qui peuvent être ancrés dans un conteneur d’ancrage, par exemple, des barres d’outils ou des palettes d’outils. |
Faites glisser | IDragProvider | IUIAutomationDragPattern | Utilisé pour prendre en charge les contrôles pouvant être glissés, ou les contrôles qui comportent des éléments pouvant être glissés. |
DropTarget | IDropTargetProvider | IUIAutomationDropTargetPattern | Utilisé pour prendre en charge les contrôles qui peuvent être la cible d’une opération glisser-déplacer. |
ExpandCollapse | IExpandCollapseProvider | IUIAutomationExpandCollapsePattern | Utilisé pour les contrôles qui peuvent être développés ou réduits, par exemple les éléments de menu d’une application, tels que le menu Fichier. |
Grid | IGridProvider | IUIAutomationGridPattern | Utilisé pour les contrôles qui prennent en charge les fonctionnalités de grille, telles que le dimensionnement et le déplacement vers une cellule spécifiée, par exemple, l’affichage d’icônes volumineuses dans Windows Explorer ou des tableaux simples dans Microsoft Office Word. |
GridItem | IGridItemProvider | IUIAutomationGridItemPattern | Utilisé pour les contrôles qui ont des cellules dans des grilles. Les cellules individuelles doivent prendre en charge le modèle GridItem, par exemple, chaque cellule de Windows Explorer vue détaillée. |
Appeler | IInvokeProvider | IUIAutomationInvokePattern | Utilisé pour les contrôles qui peuvent être appelés, tels que les boutons. |
ItemContainer | IItemContainerProvider | IUIAutomationItemContainerPattern | Utilisé pour les contrôles qui peuvent contenir d’autres éléments. |
LegacyIAccessible | ILegacyIAccessibleProvider | IUIAutomationLegacyIAccessiblePattern | Permet d’exposer les propriétés et méthodes Microsoft Active Accessibility aux clients UI Automation. |
MultipleView | IMultipleViewProvider | IUIAutomationMultipleViewPattern | Utilisé pour les contrôles qui peuvent basculer entre plusieurs représentations d’un même ensemble d’informations, de données ou d’enfants, par exemple, un contrôle d’affichage de liste où les données sont disponibles dans des vues miniatures, vignettes, icônes, liste ou détails. |
ObjectModel | IObjectModelProvider | IUIAutomationObjectModelPattern | Utilisé pour exposer un pointeur à un modèle objet sous-jacent d’un document. Ce modèle de contrôle permet à un client de naviguer à partir d’un élément UI Automation dans le modèle objet sous-jacent. |
RangeValue | IRangeValueProvider | IUIAutomationRangeValuePattern | Utilisé pour les contrôles qui ont une plage de valeurs. Par exemple, un contrôle spinner qui affiche des années peut avoir une plage comprise entre 1900 et 2010, tandis qu’un contrôle spinner qui affiche des mois aurait une plage comprise entre 1 et 12. |
Faire défiler | IScrollProvider | IUIAutomationScrollPattern | Utilisé pour les contrôles qui peuvent faire défiler quand il y a plus d’informations que peuvent être affichées dans la zone visible du contrôle. |
ScrollItem | IScrollItemProvider | IUIAutomationScrollItemPattern | Utilisé pour les contrôles qui ont des éléments individuels dans une liste qui fait défiler, par exemple, un contrôle de liste dans un contrôle de zone de liste déroulante. |
Sélection | ISelectionProvider | IUIAutomationSelectionPattern | Utilisé pour les contrôles de conteneur de sélection, par exemple, les zones de liste et les zones de liste déroulante. |
SelectionItem | ISelectionItemProvider | IUIAutomationSelectionItemPattern | Utilisées pour les éléments individuels dans les contrôles conteneur de sélection, tels que les zones de liste et zones de liste modifiables. |
Feuille de calcul | ISpreadsheetProvider | IUIAutomationSpreadsheetPattern | Utilisé pour exposer le contenu d’une feuille de calcul ou d’un autre document de type grille. Les contrôles qui implémentent le modèle de contrôle Feuille de calcul doivent également implémenter le modèle de contrôle Grid. |
SpreadsheetItem | ISpreadsheetItemProvider | IUIAutomationSpreadsheetItemPattern | Utilisé pour exposer les propriétés d’une cellule se trouvant dans une feuille de calcul ou un autre document de type grille. Les contrôles qui implémentent le modèle de contrôle SpreadsheetItem doivent également implémenter le modèle de contrôle GridItem. |
Styles | IStylesProvider | IUIAutomationStylesPattern | Utilisé pour décrire un élément d’interface utilisateur ayant un style, une couleur de remplissage, un motif de remplissage ou une forme spécifiques. |
SynchronizedInput | ISynchronizedInputProvider | IUIAutomationSynchronizedInputPattern | Utilisé pour les contrôles qui acceptent l’entrée au clavier ou à la souris. |
Table | ITableProvider | IUIAutomationTablePattern | Utilisé pour les contrôles qui ont une grille et des informations d’en-tête. |
TableItem | ITableItemProvider | IUIAutomationTableItemPattern | Utilisées pour les éléments d’une table. |
Text | ITextProvider | IUIAutomationTextPattern | Utilisées pour les contrôles d’édition et les documents qui exposent des informations textuelles. |
TextEdit | ITextEditProvider | IUIAutomationTextEditPattern | Utilisé pour les contrôles de modification qui modifient du texte par programmation, par exemple un contrôle qui effectue la correction automatique ou active la composition d’entrée. |
TextChild | ITextChildProvider | IUIAutomationTextChildPattern | Utilisé pour accéder à l’ancêtre le plus proche d’un élément qui prend en charge le modèle de contrôle Text. |
TextRange | ITextRangeProvider | IUIAutomationTextRange | Utilisé pour récupérer du contenu textuel, des attributs de texte et des objets incorporés à partir de contrôles textuels tels que les contrôles de modification et les documents. |
Bascule | IToggleProvider | IUIAutomationTogglePattern | Utilisé pour les contrôles où l’état peut être activé, par exemple, case activée zones et les éléments de menu à cocher. |
Transformer | ITransformProvider | IUIAutomationTransformPattern | Utilisées pour les contrôles qui peuvent être redimensionnés, déplacés et pivotés. Les utilisations courantes du modèle de contrôle Transform se font dans les concepteurs, les formulaires les éditeurs graphiques et les applications de dessin. |
Valeur | IValueProvider | IUIAutomationValuePattern | Utilisé pour les contrôles qui ont une valeur qui ne se trouve pas dans une plage spécifiée, par exemple un sélecteur de date et d’heure. |
VirtualizedItem | IVirtualizedItemProvider | IUIAutomationVirtualizedItemPattern | Utilisé pour les contrôles qui fonctionnent avec des éléments d’une liste virtuelle. |
Window | IWindowProvider | IUIAutomationWindowPattern | Utilisé pour les fenêtres. Par exemple, les fenêtres d’application de niveau supérieur, les fenêtres enfants MDI (Multi-Document Interface) et les boîtes de dialogue. |
Rubriques connexes