Вызов шаблона элемента управления
Описывает рекомендации и соглашения для реализации IInvokeProvider, включая сведения о методах. Шаблон элемента управления Invoke используется для поддержки элементов управления, которые не поддерживают состояние при активации, а вместо того, чтобы инициировать или выполнить одно однозначное действие.
Элементы управления, поддерживающие состояние, такие как флажки и переключатели, должны вместо этого реализовать IToggleProvider и ISelectionProvider соответственно. Примеры элементов управления, реализующих этот шаблон элемента управления, см. в типах элементов управления и их поддерживаемых шаблонах элементов управления.
В этом разделе содержатся следующие разделы.
- руководящих принципов и соглашений о реализации
- обязательные элементы для IInvokeProvider
- связанные разделы
Рекомендации по реализации и соглашения
При реализации шаблона управления Invoke обратите внимание на следующие рекомендации и соглашения:
Элементы управления реализуют IInvokeProvider, если такое же поведение не предоставляется с помощью другого поставщика шаблонов управления. Например, если метод IUIAutomationInvokePattern::Invoke в элементе управления выполняет то же действие, что и метод IUIAutomationExpandCollapsePattern::Expand или Collapse, элемент управления не должен реализовать IInvokeProvider.
Вызов элемента управления обычно выполняется путем щелчка или двойного щелчка или нажатия клавиш ВВОД, предопределенного сочетания клавиш или альтернативного сочетания нажатий клавиш.
Событие вызываемого (UIA_Invoke_InvokedEventId) вызывается на активированном элементе управления (в ответ на элемент управления, выполняющий связанное действие). Если это возможно, событие должно вызываться после завершения действия элемента управления и возврата без блокировки. Перед обслуживанием запроса Invoke необходимо вызвать событие (UIA_Invoke_InvokedEventId) перед обслуживанием запроса Invoke в следующих сценариях:
- Невозможно или практически ждать, пока действие не будет завершено.
- Для этого действия требуется взаимодействие с пользователем.
- Это действие занимает много времени и приведет к тому, что вызывающий клиент блокируется в течение значительного времени.
При вызове элемента управления имеет значительные побочные эффекты, эти побочные эффекты должны быть предоставлены через свойство HelpText. Например, даже если IUIAutomationInvokePattern::Invoke не связан с выделением, Invoke может привести к выбору другого элемента управления.
Эффекты наведения указателя мыши обычно не представляют собой событие вызываемого. Однако элементы управления, выполняющие действие (в отличие от визуального эффекта), основанные на состоянии наведения указателя мыши, должны поддерживать шаблон элемента управления Invoke.
Заметка
Эта реализация считается проблемой специальных возможностей, если элемент управления можно вызвать только в результате побочных эффектов, связанных с мышью.
Вызов элемента управления отличается от выбора элемента. Однако в зависимости от элемента управления вызов может привести к тому, что элемент будет выбран в качестве побочных эффектов. Например, вызов элемента списка документов Microsoft Word в папке "Мои документы" выбирает элемент и открывает документ.
Элемент может исчезнуть из дерева автоматизации пользовательского интерфейса Майкрософт сразу после вызова. Запрос сведений из элемента, предоставленного обратным вызовом события, может завершиться ошибкой. Предварительное получение кэшированных сведений является рекомендуемым решением.
Элементы управления могут реализовывать несколько шаблонов элементов управления. Например, элемент управления цвета заливки на панели инструментов Microsoft Excel реализует и вызов, и шаблоны элементов управления ExpandCollapse. Шаблон элемента управления ExpandCollapse предоставляет меню , а шаблон элемента управления "Вызов" заполняет активный выбор выбранным цветом.
Обязательные элементы для IInvokeProvider
Следующий метод необходим для реализации интерфейса IInvokeProvider.
Этот шаблон элемента управления не имеет связанных свойств или событий.
Связанные разделы
-
Типы элементов управления и поддерживаемые шаблоны элементов управления
-
Обзор шаблонов элементов управления автоматизации пользовательского интерфейса