Поделиться через


Общие сведения о шаблонах элементов управления автоматизации пользовательского интерфейса

Шаблон элемента управления — это реализация интерфейса, которая предоставляет определенный аспект функциональности элемента управления клиентским приложениям службы автоматизации пользовательского интерфейса Майкрософт. Клиенты используют свойства и методы, предоставляемые с помощью шаблона элемента управления, для получения сведений о определенной возможности элемента управления или для управления определенным аспектом поведения элемента управления. Например, элемент управления, представляющий табличный интерфейс, использует шаблон элемента управления 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) и диалоговые окна.

 

концептуальные

реализации шаблонов элементов управления автоматизации пользовательского интерфейса

Сопоставление шаблонов управления для клиентов автоматизации пользовательского интерфейса