Получение свойств из элементов автоматизации пользовательского интерфейса
Свойства IUIAutomationElement содержат сведения о элементах пользовательского интерфейса, как правило, элементах управления. Свойства элемента являются универсальными; т. е. не относятся к типу элемента управления. Свойства элемента, относящиеся к управлению, предоставляются интерфейсами шаблонов управления.
Свойства автоматизации пользовательского интерфейса Майкрософт доступны только для чтения. Чтобы задать свойства элемента управления, необходимо использовать методы соответствующего шаблона элемента управления. Например, используйте IUIAutomationScrollPattern::Scroll для изменения значений позиции окна прокрутки.
Чтобы повысить производительность, значения свойств элементов управления и шаблонов элементов управления можно кэшировать при извлечении этих элементов. Дополнительные сведения см. в разделе Кэширование свойств автоматизации пользовательского интерфейса и шаблонов элементов управления.
В этом разделе содержатся следующие разделы.
- Идентификаторы свойств
- Условия свойств
- Получение свойств
- Значения свойств по умолчанию
- Связанные темы
Идентификаторы свойств
Идентификаторы свойств определены в Uiautomationclient.h. Они используются для указания свойств при подписке на события изменения свойств, получения значений свойств и создания условий свойств. Идентификаторы свойств также определяют свойство, которое изменилось при вызове IUIAutomationPropertyChangedEventHandler::HandlePropertyChangedEvent.
Список идентификаторов свойств автоматизации пользовательского интерфейса см. в разделе Идентификаторы свойств.
Условия использования недвижимости
Идентификаторы свойств используются в создании объектов IUIAutomationPropertyCondition, которые используются для поиска элементов автоматизации пользовательского интерфейса. Например, может потребоваться найти элемент с определенным именем или все элементы управления, которые включены. Каждое условие свойства указывает идентификатор свойства и значение, которое должно соответствовать свойству.
Дополнительные сведения см. в следующих справочных разделах:
- IUIAutomation::CreatePropertyCondition
- IUIAutomation::CreatePropertyConditionEx
- IUIAutomationElement::FindFirst
- IUIAutomationElement::FindAll
Получение свойств
Некоторые универсальные свойства и все свойства шаблона элемента управления доступны в виде свойств в интерфейсе IUIAutomationElement или в интерфейсе шаблона элемента управления и могут быть получены с помощью метода доступа, такого как IUIAutomationElement::CurrentName или CachedDockPosition.
Кроме того, любое текущее или кэшированное свойство (отличное от свойств шаблона элемента управления) можно получить с помощью одного из следующих методов:
Эти методы обеспечивают немного лучшую производительность и доступ к полному диапазону свойств. Однако значения возвращаются в структурах VARIANT, тогда как отдельные методы доступа к свойствам выполняют приведение значения к соответствующему типу.
Значения свойств по умолчанию
Если поставщик автоматизации пользовательского интерфейса не реализует свойство, служба автоматизации пользовательского интерфейса может указать значение по умолчанию. Например, если поставщик элемента управления не поддерживает свойство, определяемое UIA_HelpTextPropertyId, служба автоматизации пользовательского интерфейса возвращает пустую строку. Аналогичным образом, если поставщик не поддерживает свойство, определяемое UIA_IsDockPatternAvailablePropertyId, служба автоматизации пользовательского интерфейса возвращает FALSE.
Разница между IUIAutomationElement::GetCurrentPropertyValue и GetCurrentPropertyValueEx (и между аналогичными парами методов) заключается в том, что метод Ex может указать, что значение по умолчанию не возвращается. В этом случае возвращаемое значение является специальной уникальной константой, указывающей, что свойство не поддерживается. При получении этого значения приложение может указать собственное значение или просто игнорировать свойство.
Связанные разделы
-
концептуальные