Share via


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

IRawElementProviderFragment