Abrufen von Eigenschaften aus Benutzeroberflächenautomatisierung Elementen
Eigenschaften für IUIAutomationElement-Objekte enthalten Informationen zu UI-Elementen, in der Regel Steuerelemente. Die Eigenschaften eines Elements sind generisch; d. h. nicht spezifisch für einen Steuerelementtyp. Steuerelementspezifische Eigenschaften eines Elements werden durch seine Steuerelementmusterschnittstellen verfügbar gemacht.
Microsoft Benutzeroberflächenautomatisierung Eigenschaften sind schreibgeschützt. Um Eigenschaften eines Steuerelements festzulegen, müssen Sie die Methoden des entsprechenden Steuerelementmusters verwenden. Verwenden Sie beispielsweise IUIAutomationScrollPattern::Scroll , um die Positionswerte eines Bildlauffensters zu ändern.
Um die Leistung zu verbessern, können Eigenschaftswerte von Steuerelementen und Steuerelementmustern zwischengespeichert werden, wenn Elemente abgerufen werden. Weitere Informationen finden Sie unter Zwischenspeichern von Benutzeroberflächenautomatisierung Eigenschaften und Steuerelementmustern.
Dieses Thema enthält folgende Abschnitte:
- Eigenschaften-IDs
- Eigenschaftsbedingungen
- Abrufen von Eigenschaften
- Standardeigenschaftswerte
- Zugehörige Themen
Eigenschaften-IDs
Eigenschaftenbezeichner werden in Uiautomationclient.h definiert. Sie werden verwendet, um Eigenschaften anzugeben, wenn Sie Ereignisse mit Geänderten Eigenschaften abonnieren, Eigenschaftswerte abrufen und Eigenschaftenbedingungen erstellen. Eigenschaftenbezeichner identifizieren auch die Eigenschaft, die sich beim Aufruf von IUIAutomationPropertyChangedEventHandler::HandlePropertyChangedEvent geändert hat.
Eine Liste mit Benutzeroberflächenautomatisierung Eigenschaftenbezeichnern finden Sie unter Eigenschaftenbezeichner.
Eigenschaftsbedingungen
Die Eigenschaften-IDs werden zum Erstellen von IUIAutomationPropertyCondition-Objekten verwendet, die zum Suchen Benutzeroberflächenautomatisierung Elemente verwendet werden. Sie können z. B. ein Element mit einem bestimmten Namen oder alle aktivierten Steuerelemente suchen. Jede Eigenschaftsbedingung gibt einen Eigenschaftenbezeichner und den Wert an, mit dem die Eigenschaft übereinstimmen muss.
Weitere Informationen finden Sie unter den folgenden Referenzthemen:
- IUIAutomation::CreatePropertyCondition
- IUIAutomation::CreatePropertyConditionEx
- IUIAutomationElement::FindFirst
- IUIAutomationElement::FindAll
Abrufen von Eigenschaften
Einige generische Eigenschaften und alle Steuerelementmustereigenschaften sind als Eigenschaften auf der IUIAutomationElement - oder Steuerelementmusterschnittstelle verfügbar und können mithilfe eines Accessors wie IUIAutomationElement::CurrentName oder CachedDockPosition abgerufen werden.
Darüber hinaus können alle aktuellen oder zwischengespeicherten Eigenschaften (außer Steuerelementmustereigenschaften) mithilfe einer der folgenden Methoden abgerufen werden:
Diese Methoden bieten eine etwas bessere Leistung und den Zugriff auf den gesamten Eigenschaftenbereich. Werte werden jedoch in VARIANT-Strukturen zurückgegeben, während die einzelnen Eigenschaftsaccessoren den Wert in den entsprechenden Typ umwandeln.
Standardeigenschaftswerte
Wenn ein Benutzeroberflächenautomatisierung Anbieter keine Eigenschaft implementiert, können Benutzeroberflächenautomatisierung einen Standardwert angeben. Wenn der Anbieter für ein Steuerelement beispielsweise die durch UIA_HelpTextPropertyId identifizierte Eigenschaft nicht unterstützt, gibt Benutzeroberflächenautomatisierung eine leere Zeichenfolge zurück. Wenn der Anbieter die durch UIA_IsDockPatternAvailablePropertyId identifizierte Eigenschaft nicht unterstützt, gibt Benutzeroberflächenautomatisierung false zurück.
Der Unterschied zwischen IUIAutomationElement::GetCurrentPropertyValue und GetCurrentPropertyValueEx (und zwischen ähnlichen Methodenpaaren) besteht darin, dass die "Ex"-Methode angeben kann, dass kein Standardwert zurückgegeben werden soll. In diesem Fall ist der Rückgabewert eine besondere eindeutige Konstante, die angibt, dass die Eigenschaft nicht unterstützt wird. Beim Empfangen dieses Werts kann die Anwendung einen eigenen Wert angeben oder einfach die Eigenschaft ignorieren.
Zugehörige Themen