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

Шаблон элемента управления — это реализация интерфейса, которая предоставляет определенный аспект функциональности элемента управления клиентским приложениям Майкрософт модель автоматизации пользовательского интерфейса. Клиенты используют свойства и методы, предоставляемые через шаблон элемента управления, для получения сведений о конкретных возможностях элемента управления или для управления определенным аспектом поведения элемента управления. Например, элемент управления, представляющий табличный интерфейс, использует шаблон элемента управления Grid для предоставления количества строк и столбцов в таблице, а также для того, чтобы клиент мог извлекать элементы из таблицы.

модель автоматизации пользовательского интерфейса использует шаблоны элементов управления для представления общих поведений элементов управления. Например, шаблон элемента управления "Вызов " используется для элементов управления, которые можно вызывать, таких как кнопки, и шаблон элемента управления Scroll для элементов управления со полосами прокрутки, таких как списки, представления списков или поля со списком. Так как каждый шаблон элемента управления представляет отдельную функциональность, шаблоны элементов управления можно объединить для описания полного набора функций, поддерживаемых определенным элементом управления.

Примечание

Агрегатный элемент управления создается с помощью дочерних элементов управления, которые предоставляют пользовательский интерфейс для функциональных возможностей, предоставляемых родительским элементом, и родительский элемент должен реализовывать все шаблоны элементов управления, которые обычно связаны с его дочерними элементами управления. В свою очередь те же шаблоны элементов управления не обязательно должны быть реализованы дочерними элементами управления.

 

Этот раздел состоит из следующих подразделов.

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

Шаблоны элементов управления поддерживают методы, свойства, события и связи, необходимые для определения дискретной части функциональных возможностей, доступных в элементе управления.

  • Методы позволяют клиентам автоматизации пользовательского интерфейса работать с элементом управления.
  • Свойства и события предоставляют сведения о функциональных возможностях и состоянии элемента управления.
  • Связь между элементом модель автоматизации пользовательского интерфейса и его родительским элементом, дочерними элементами и элементами того же уровня описывает структуру элемента в дереве модель автоматизации пользовательского интерфейса.

Шаблоны элементов управления связаны с элементами управления аналогично тому, как интерфейсы связаны с объектами МОДЕЛИ COM. В COM можно запросить объект, чтобы узнать, какие интерфейсы он поддерживает, а затем использовать эти интерфейсы для доступа к функциональным возможностям. В модель автоматизации пользовательского интерфейса клиенты могут запрашивать у элемента управления поддерживаемые шаблоны элементов управления, а затем взаимодействовать с элементом управления через свойства, методы, события и структуры, предоставляемые поддерживаемыми шаблонами элементов управления.

Шаблоны элементов управления в поставщиках и клиентах

модель автоматизации пользовательского интерфейса поставщики реализуют интерфейсы шаблонов элементов управления для предоставления соответствующего поведения для определенной части функциональности, поддерживаемой элементом управления. Эти интерфейсы не предоставляются клиентам напрямую, но используются ядром модель автоматизации пользовательского интерфейса для реализации другого набора клиентских интерфейсов. Например, поставщик предоставляет функции прокрутки для модель автоматизации пользовательского интерфейса через IScrollProvider, а модель автоматизации пользовательского интерфейса предоставляет эти функции клиентам через IUIAutomationScrollPattern.

Динамические шаблоны элементов управления

Некоторые элементы управления не всегда поддерживают один и тот же набор шаблонов элементов управления. Например, элемент управления многострочного редактирования позволяет выполнять вертикальную прокрутку только в том случае, если он содержит больше строк текста, чем может отображаться в доступной для просмотра области. Прокрутка отключается при удалении достаточного объема текста, когда она становится ненужной. В этом примере IUIAutomationScrollPattern поддерживается динамически в зависимости от объема текста в поле ввода.

В следующей таблице описаны шаблоны элементов управления модель автоматизации пользовательского интерфейса. В таблице также перечислены интерфейсы поставщика, используемые для реализации шаблонов элементов управления, и клиентские интерфейсы, используемые для доступа к ним.

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

 

Основные понятия

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

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