Получение свойств из элементов модель автоматизации пользовательского интерфейса
Свойства объектов IUIAutomationElement содержат сведения об элементах пользовательского интерфейса, обычно элементах управления. Свойства элемента являются универсальными; то есть, не относящееся к типу элемента управления. Свойства элемента, относящиеся к элементу управления, предоставляются его интерфейсами шаблонов элементов управления.
Свойства Microsoft модель автоматизации пользовательского интерфейса доступны только для чтения. Чтобы задать свойства элемента управления, вы должны использовать методы соответствующего шаблона элемента управления. Например, используйте 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 может указать, что значение по умолчанию не должно возвращаться. В этом случае возвращаемое значение является специальной уникальной константой, указывающей, что свойство не поддерживается. Получив это значение, приложение может предоставить собственное значение или просто пропустить свойство .
Связанные темы