IRawElementProviderFragment::Navigate-Methode (uiautomationcore.h)
Ruft das Microsoft UI Automation-Element in einer angegebenen Richtung innerhalb der Ui Automation-Struktur ab.
Syntax
HRESULT Navigate(
NavigateDirection direction,
[out, retval] IRawElementProviderFragment **pRetVal
);
Parameter
direction
[out, retval] pRetVal
Typ: IRawElementProviderFragment**
Empfängt einen Zeiger auf den Anbieter des UI Automation-Elements in der angegebenen Richtung oder NULL , wenn kein Element in dieser Richtung vorhanden ist. Dieser Parameter wird nicht initialisiert übergeben.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Die Implementierungen dieser Methode auf dem UI Automation-Server definieren die Struktur der Ui Automation-Struktur.
Die Navigation muss nach oben zum übergeordneten Element, nach unten zum ersten und letzten untergeordneten Element und nach unten zum nächsten und vorherigen untergeordneten Element unterstützt werden.
Jeder untergeordnete Knoten hat nur ein übergeordnetes Element und muss in die Kette von Geschwistern platziert werden, die vom übergeordneten Knoten durch NavigateDirection_FirstChild und NavigateDirection_LastChild erreicht werden.
Beziehungen zwischen Geschwistern müssen in beide Richtungen identisch sein: Wenn A die vorherige Geschwister von B ist (NavigateDirection_PreviousSibling), dann ist B das nächste Geschwisterpaar von A (NavigateDirection_NextSibling). Ein erstes Kind (NavigateDirection_FirstChild) hat keine vorherigen Geschwister, und ein letztes Kind (NavigateDirection_LastChild) keine nächsten Geschwister.
Fragmentwurzeln ermöglichen keine Navigation zu einem übergeordneten oder gleichgeordneten Element. die Navigation zwischen Fragmentwurzeln wird von den Standardfensteranbietern verarbeitet. Elemente in Fragmenten dürfen nur zu anderen Elementen innerhalb dieses Fragments navigieren.
Beispiele
Das folgende Beispiel zeigt eine Implementierung für einen Listenelementanbieter. Die Membervariablen für den übergeordneten, vorherigen gleichgeordneten und nächsten gleichgeordneten Anbieter wurden beim Erstellen der Liste initialisiert.
HRESULT STDMETHODCALLTYPE ListItemProvider::Navigate(NavigateDirection direction, IRawElementProviderFragment ** pRetVal)
{
if (pRetVal == NULL)
{
return E_INVALIDARG;
}
IRawElementProviderFragment* pFrag = NULL;
switch(direction)
{
case NavigateDirection_Parent:
pFrag = (IRawElementProviderFragment*)m_parentProvider;
break;
case NavigateDirection_NextSibling:
pFrag = (IRawElementProviderFragment*)m_nextSiblingProvider;
break;
case NavigateDirection_PreviousSibling:
pFrag = (IRawElementProviderFragment*)m_previousSiblingProvider;
break;
}
*pRetVal = pFrag;
if (pFrag != NULL)
{
pFrag->AddRef();
}
return S_OK;
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | uiautomationcore.h (include UIAutomation.h) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für