Pobieranie właściwości z elementów automatyzacji interfejsu użytkownika
Właściwości IUIAutomationElement obiektów zawierają informacje o elementach interfejsu użytkownika, zwykle kontrolki. Właściwości elementu są ogólne; oznacza to, że nie jest specyficzny dla typu kontrolki. Właściwości szczególne elementu są ujawniane przez jego interfejsy wzorców sterowania.
Właściwości automatyzacji interfejsu użytkownika firmy Microsoft są tylko do odczytu. Aby ustawić właściwości kontrolki, należy użyć metod odpowiedniego wzorca kontrolki. Na przykład użyj IUIAutomationScrollPattern::Scroll, aby zmienić wartości położenia okna przewijania.
Aby zwiększyć wydajność, wartości właściwości kontrolek i wzorców kontrolek mogą być buforowane podczas pobierania elementów. Aby uzyskać więcej informacji, zobacz Caching UI Automation Properties and Control Patterns.
Ten temat zawiera następujące sekcje.
- Identyfikatory właściwości
- Warunki nieruchomości
- pobieranie właściwości
- domyślne wartości właściwości
- Tematy pokrewne
Identyfikatory właściwości
Identyfikatory właściwości są definiowane w pliku Uiautomationclient.h. Są używane do określania właściwości podczas subskrybowania zdarzeń zmiany właściwości, pobierania wartości właściwości i konstruowania warunków właściwości. Identyfikatory właściwości identyfikują również właściwość, która uległa zmianie po wywołaniu IUIAutomationPropertyChangedEventHandler::HandlePropertyChangedEvent.
Aby zapoznać się z listą identyfikatorów właściwości automatyzacji UI, zobacz Identyfikatory właściwości.
Warunki nieruchomości
Identyfikatory właściwości są używane w konstruowaniu IUIAutomationPropertyCondition obiektów używanych do znajdowania elementów automatyzacji interfejsu użytkownika. Możesz na przykład znaleźć element o określonej nazwie lub wszystkie włączone kontrolki. Każdy warunek właściwości określa identyfikator właściwości i wartość, która musi być zgodna z właściwością.
Aby uzyskać więcej informacji, zobacz następujące tematy referencyjne:
- IUIAutomation::CreatePropertyCondition
- IUIAutomation::CreatePropertyConditionEx
- IUIAutomationElement::FindFirst
- IUIAutomationElement::FindAll
Pobieranie właściwości
Niektóre właściwości ogólne oraz wszystkie właściwości wzorca kontrolki są dostępne jako właściwości interfejsu IUIAutomationElement lub wzorca kontrolki i można je pobrać za pomocą metod dostępu, takich jak IUIAutomationElement::CurrentName lub CachedDockPosition.
Ponadto wszystkie bieżące lub buforowane właściwości (inne niż właściwości wzorca kontrolki) można pobrać przy użyciu jednej z następujących metod:
- PobierzBieżącąWartośćWłaściwości
- GetCurrentPropertyValueEx
- UzyskajPokrytąWartośćWłaściwości
- GetCachedPropertyValueEx
Metody te zapewniają nieco lepszą wydajność i dostęp do pełnego zakresu właściwości. Jednak wartości są zwracane w strukturach VARIANT, podczas gdy poszczególne metody dostępu właściwości rzutują wartość na odpowiedni typ.
Domyślne wartości właściwości
Jeśli dostawca automatyzacji interfejsu użytkownika nie implementuje właściwości, usługa Automatyzacja interfejsu użytkownika może podać wartość domyślną. Jeśli na przykład dostawca kontrolki nie obsługuje właściwości zidentyfikowanej przez UIA_HelpTextPropertyId, automatyzacja interfejsu użytkownika zwraca pusty ciąg. Podobnie, jeśli dostawca nie obsługuje właściwości zidentyfikowanej przez UIA_IsDockPatternAvailablePropertyId, Automatyzacja UI zwraca FALSE.
Różnica między IUIAutomationElement::GetCurrentPropertyValue i GetCurrentPropertyValueEx (i między podobnymi parami metod) polega na tym, że metoda "Ex" może określić, że nie ma zwracanej wartości domyślnej. W takim przypadku wartość zwracana jest specjalną unikatową stałą wskazującą, że właściwość nie jest obsługiwana. Po otrzymaniu tej wartości aplikacja może podać własną wartość lub po prostu zignorować właściwość.
Tematy pokrewne