Como habilitar a navegação em um provedor de fragmentos de Automação da Interface do Usuário
Este tópico contém um código de exemplo que mostra como habilitar a navegação em um provedor de Automação da Interface do Usuário da Microsoft para um elemento em um fragmento.
O código de exemplo a seguir implementa o método IRawElementProviderFragment::Navigate para um item de lista em um controle de lista personalizado. O elemento pai é o controle de lista personalizado e os elementos irmãos são outros itens na lista. O método define o parâmetro pRetVal como NULL se não houver nenhum elemento na direção especificada.
// 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;
}
Tópicos relacionados
-
Conceitual
-
Implementando um provedor de Server-Side Automação da Interface do Usuário
-
Tópicos de instruções para provedores de Automação da Interface do Usuário