Общие сведения о шаблонах элементов управления автоматизации пользовательского интерфейса
Шаблон элемента управления — это реализация интерфейса, которая предоставляет определенный аспект функциональности элемента управления клиентским приложениям службы автоматизации пользовательского интерфейса Майкрософт. Клиенты используют свойства и методы, предоставляемые с помощью шаблона элемента управления, для получения сведений о определенной возможности элемента управления или для управления определенным аспектом поведения элемента управления. Например, элемент управления, представляющий табличный интерфейс, использует шаблон элемента управления Grid для предоставления количества строк и столбцов в таблице, а также для получения элементов из таблицы клиентом.
Автоматизация пользовательского интерфейса использует шаблоны элементов управления для представления распространенных действий элементов управления. Например, вы используете шаблон элемента управления вызова для элементов управления, которые можно активировать, например, кнопок, и шаблон элемента управления прокрутки для элементов управления с полосами прокрутки, такими как списки, представления списков или комбинированные поля. Так как каждый шаблон элемента управления представляет отдельную функциональность, шаблоны элементов управления можно объединить для описания полного набора функций, поддерживаемых определенным элементом управления.
Заметка
Агрегатный элемент управления создается с дочерними элементами управления, предоставляющими пользовательский интерфейс для функциональных возможностей, предоставляемых родительским элементом, и родительский элемент должен реализовать все шаблоны элементов управления, которые обычно связаны с его дочерними элементами управления. В свою очередь, те же шаблоны элементов управления не требуются для реализации дочерними элементами управления.
В этом разделе содержатся следующие разделы:
- компоненты шаблона управления автоматизации пользовательского интерфейса
- Шаблоны управления в поставщиках и клиентах
- динамические шаблоны элементов управления
- шаблоны управления и связанные интерфейсы
- Связанные темы
Компоненты шаблона элемента управления автоматизации пользовательского интерфейса
Шаблоны управления поддерживают методы, свойства, события и связи, необходимые для определения дискретной части функциональности, доступной в элементе управления.
- Методы позволяют клиентам автоматизации пользовательского интерфейса управлять элементом управления.
- Свойства и события предоставляют сведения о функциональных возможностях и состоянии элемента управления.
- Связь между элементом автоматизации пользовательского интерфейса и его родительским элементом, дочерними элементами и братьями и сестрами описывает структуру элементов в дереве автоматизации пользовательского интерфейса.
Шаблоны элементов управления связаны с элементами управления, аналогичными способу связи интерфейсов с объектами объектной модели компонентов (COM). В COM можно запросить объект, чтобы узнать, какие интерфейсы она поддерживает, а затем использовать эти интерфейсы для доступа к функциям. В службе автоматизации пользовательского интерфейса клиенты могут задавать элемент управления, который он поддерживает, а затем взаимодействовать с элементом управления с помощью свойств, методов, событий и структур, предоставляемых поддерживаемыми шаблонами элементов управления.
Шаблоны управления в поставщиках и клиентах
Поставщики автоматизации пользовательского интерфейса реализуют интерфейсы шаблонов управления для предоставления соответствующего поведения для определенной части функциональности, поддерживаемой элементом управления. Эти интерфейсы не предоставляются клиентам напрямую, но используются ядром автоматизации пользовательского интерфейса для реализации другого набора клиентских интерфейсов. Например, поставщик предоставляет функции прокрутки для автоматизации пользовательского интерфейса через IScrollProvider, а автоматизация пользовательского интерфейса предоставляет клиентам функции через IUIAutomationScrollPattern.
Шаблоны динамических элементов управления
Некоторые элементы управления не всегда поддерживают один набор шаблонов элементов управления. Например, элемент управления многострочного редактирования включает вертикальную прокрутку только в том случае, если он содержит больше строк текста, чем может отображаться в видимой области. Прокрутка отключена при удалении достаточного текста, чтобы прокрутка больше не требовалась. В этом примере IUIAutomationScrollPattern поддерживается динамически в зависимости от количества текста в поле редактирования.
Шаблоны элементов управления и связанные интерфейсы
В следующей таблице описаны шаблоны элементов управления автоматизации пользовательского интерфейса. В таблице также перечислены интерфейсы поставщика, используемые для реализации шаблонов элементов управления, и клиентские интерфейсы, используемые для доступа к ним.
Имя | Интерфейс поставщика | Клиентский интерфейс | Описание |
---|---|---|---|
Аннотация | IAnnotationProvider | IUIAutomationAnnotationPattern | Используется для предоставления свойств заметки в документе, например примечаний в поле, подключенном к тексту документа. |
док-станция | IDockProvider | IUIAutomationDockPattern | Используется для элементов управления, которые можно закрепить в контейнере док-станции, например панели инструментов или палитры инструментов. |
Перетаскивание | IDragProvider | IUIAutomationDragPattern | Используется для поддержки перетаскиваемых элементов управления или элементов управления с перетаскиваемыми элементами. |
DropTarget | IDropTargetProvider | IUIAutomationDropTargetPattern | Используется для поддержания элементов управления, которые могут использоваться в качестве цели операции перетаскивания. |
РазвернутьСвернуть | IExpandCollapseProvider | IUIAutomationExpandCollapsePattern | Используется для элементов управления, которые можно развернуть или свернуть, например элементы меню в приложении, например меню "Файл". |
сетка | IGridProvider | IUIAutomationGridPattern | Используется для элементов управления, поддерживающих функции сетки, например изменение размера и перемещение в указанную ячейку, например представление больших значков в проводнике Windows или простых таблицах в Microsoft Office Word. |
GridItem | IGridItemProvider | IUIAutomationGridItemPattern | Используется для элементов управления, имеющих ячейки в сетках. Отдельные ячейки должны поддерживать шаблон GridItem, например каждую ячейку в представлении сведений обозревателя Windows. |
Вызвать | IInvokeProvider | IUIAutomationInvokePattern | Используется для элементов управления, которые можно вызвать, например кнопок. |
КонтейнерДляЭлемента | IItemContainerProvider | IUIAutomationItemContainerPattern | Используется для элементов управления, которые могут содержать другие элементы. |
LegacyIAccessible | ILegacyIAccessibleProvider | IUIAutomationLegacyIAccessiblePattern | Используется для предоставления свойств и методов microsoft Active Accessibility клиентам автоматизации пользовательского интерфейса. |
MultipleView | IMultipleViewProvider | IUIAutomationMultipleViewPattern | Используется для элементов управления, которые могут переключаться между несколькими вариантами представления одного и того же набора сведений, данных или дочерних элементов, например, представление в виде списка, где данные доступны в формате эскизов, плитки, значков, списка или в режиме подробного вида. |
МодельОбъекта | IObjectModelProvider | IUIAutomationObjectModelPattern | Используется для предоставления указателя на базовую объектную модель документа. Этот шаблон элемента управления позволяет клиенту перемещаться из элемента автоматизации пользовательского интерфейса в базовую объектную модель. |
RangeValue | IRangeValueProvider | IUIAutomationRangeValuePattern | Используется для элементов управления с диапазоном значений. Например, элемент управления спиннером, отображающий годы, может иметь диапазон 1900–2010, а элемент управления спиннер, который отображает месяцы, будет иметь диапазон 1–12. |
Прокрутка | IScrollProvider | IUIAutomationScrollPattern | Используется для элементов управления, которые могут прокручиваться, если имеется больше информации, чем можно отобразить в просматриваемой области элемента управления. |
ScrollItem | IScrollItemProvider | IUIAutomationScrollItemPattern | Используется для элементов управления с отдельными элементами в списке, который прокручивается, например элемент управления списком в элементе управления со списком. |
Выбор | ISelectionProvider | IUIAutomationSelectionPattern | Используется для элементов управления выбора, например, списков и комбинированных списков. |
ЭлементВыбора | ISelectionItemProvider | IUIAutomationSelectionItemPattern | Используется для отдельных элементов в элементах управления контейнера выбора, таких как поля списков и комбинированные списки. |
таблица | ISpreadsheetProvider | IUIAutomationSpreadsheetPattern | Используется для предоставления содержимого электронной таблицы или другого документа на основе сетки. Элементы управления, реализующие шаблон элемента управления Электронной таблицы, также должны реализовывать шаблон элемента управления Grid. |
Элемент таблицы | ISpreadsheetItemProvider | IUIAutomationSpreadsheetItemPattern | Используется для предоставления свойств ячейки в электронной таблице или другом документе на основе сетки. Элементы управления, реализующие шаблон элемента управления SpreadsheetItem, также должны реализовывать шаблон элемента управления GridItem. |
Стили | IStylesProvider | IUIAutomationStylesPattern | Используется для описания элемента пользовательского интерфейса с определенным стилем, цветом заливки, шаблоном заливки или фигурой. |
SynchronizedInput | ISynchronizedInputProvider | IUIAutomationSynchronizedInputPattern | Используется для элементов управления, которые принимают ввод клавиатуры или мыши. |
таблицы | ITableProvider | IUIAutomationTablePattern | Используется для элементов управления, содержащих информацию о сетке и заголовке. |
Элемент таблицы | ITableItemProvider | IUIAutomationTableItemPattern | Используется для элементов в таблице. |
текста | ITextProvider | IUIAutomationTextPattern | Используется для редактирования элементов управления и документов, предоставляющих текстовую информацию. |
TextEdit (текстовый редактор) | ITextEditProvider | IUIAutomationTextEditPattern | Используется для элементов управления редактированием, которые изменяют текст программным способом, например элемент управления, который выполняет автоматическое исправление или включает входную композицию. |
TextChild | ITextChildProvider | IUIAutomationTextChildPattern | Используется для доступа к ближайшему предку элемента, который поддерживает шаблон управления Text. |
TextRange | ITextRangeProvider | IUIAutomationTextRange | Используется для получения текстового содержимого, текстовых атрибутов и внедренных объектов из текстовых элементов управления, таких как элементы управления редактирования и документы. |
переключение | IToggleProvider | IUIAutomationTogglePattern | Используется для элементов управления, состояние которых можно переключать, например, для флажков и пунктов меню с возможностью выбора. |
Преобразование | ITransformProvider | IUIAutomationTransformPattern | Используется для элементов управления, которые можно изменять размер, перемещать и поворачивать. Типичное использование шаблона управления "Преобразование" в конструкторах, формах, графических редакторах и программах для рисования. |
значение | IValueProvider | IUIAutomationValuePattern | Используется для элементов управления, имеющих значение, которое не лежит в указанном диапазоне, например средство выбора даты и времени. |
ВиртуализированныйЭлемент | IVirtualizedItemProvider | IUIAutomationVirtualizedItemPattern | Используется для элементов управления, работающих с элементами в виртуальном списке. |
окно | IWindowProvider | IUIAutomationWindowPattern | Используется для окон. Примерами являются окна приложений верхнего уровня, дочерние окна с несколькими документами (MDI) и диалоговые окна. |
Связанные разделы
-
концептуальные
-
реализации шаблонов элементов управления автоматизации пользовательского интерфейса
-
Сопоставление шаблонов управления для клиентов автоматизации пользовательского интерфейса