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