Jak povolit navigaci ve fragmentu poskytovatele automatizace uživatelského rozhraní
Toto téma obsahuje příklad kódu, který ukazuje, jak umožnit navigaci pro prvek v fragmentu pomocí zprostředkovatele Microsoft UI Automation.
Následující příklad kódu implementuje metodu IRawElementProviderFragment::Navigate pro položku seznamu v uživatelském seznamovém ovládacím prvku. Nadřazený prvek je vlastní seznam a prvky na stejné úrovni jsou další položky v seznamu. Metoda nastaví parametr pRetVal na NULL pokud v zadaném směru neexistuje žádný prvek.
// 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;
}
Související témata
-
konceptuální
-
Implementace zprostředkovatele Server-Side automatizace uživatelského rozhraní
-
How-To témata pro poskytovatele automatizace uživatelského rozhraní