Freigeben über


Aktivieren der Navigation in einem Benutzeroberflächenautomatisierung-Fragmentanbieter

Dieses Thema enthält Beispielcode, der zeigt, wie Die Navigation in einem Microsoft Benutzeroberflächenautomatisierung-Anbieter für ein Element in einem Fragment aktiviert wird.

Der folgende Beispielcode implementiert die IRawElementProviderFragment::Navigate-Methode für ein Listenelement in einem benutzerdefinierten Listensteuerelement. Das übergeordnete Element ist das benutzerdefinierte Listensteuerelement, und die gleichgeordneten Elemente sind andere Elemente in der Liste. Die -Methode legt den pRetVal-Parameter auf NULL fest, wenn kein Element in der angegebenen Richtung vorhanden ist.

// Implementation of IRawElementProviderFragment::Navigate.
// Enables UI Automation to locate the element in the tree.
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;
}              

Konzept

Implementieren eines Server-Side Benutzeroberflächenautomatisierung-Anbieters

How-To-Themen für Benutzeroberflächenautomatisierung-Anbieter