Partager via


Activation de la navigation dans un fournisseur de fragments UI Automation

Cette rubrique contient un exemple de code qui montre comment activer la navigation dans un fournisseur Microsoft UI Automation pour un élément dans un fragment.

L’exemple de code suivant implémente la méthode IRawElementProviderFragment::Navigate pour un élément de liste dans un contrôle de liste personnalisé. L’élément parent est le contrôle de liste personnalisé, et les éléments frères sont d’autres éléments de la liste. La méthode définit le paramètre pRetVal sur NULL s’il n’existe aucun élément dans le sens spécifié.

// 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;
}              

Conceptuel

Implémentation d’un fournisseur de Server-Side UI Automation

Rubriques de procédure pour les fournisseurs UI Automation