Método IRawElementProviderFragment::Navigate (uiautomationcore.h)
Recupera o elemento de Automação da Interface do Usuário da Microsoft em uma direção especificada na árvore de Automação da Interface do Usuário.
Sintaxe
HRESULT Navigate(
[in] NavigateDirection direction,
[out, retval] IRawElementProviderFragment **pRetVal
);
Parâmetros
[in] direction
A direção na qual navegar.
[out, retval] pRetVal
Tipo: ** IRawElementProviderFragment
Recebe um ponteiro para o provedor do elemento de Automação da Interface do Usuário na direção especificada ou NULL se não houver nenhum elemento nessa direção. Esse parâmetro é passado sem inicialização.
Valor de retorno
Se esse método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Observações
As implementações do servidor de Automação da Interface do Usuário desse método definem a estrutura da árvore de Automação da Interface do Usuário.
A navegação deve ter suporte para cima para o pai, para baixo para o primeiro e o último filho, e lateralmente para os irmãos seguintes e anteriores, conforme aplicável.
Cada nó filho tem apenas um pai e deve ser colocado na cadeia de irmãos alcançados do pai por NavigateDirection_FirstChild e NavigateDirection_LastChild.
As relações entre irmãos devem ser idênticas em ambas as direções: se A for o irmão anterior de B (NavigateDirection_PreviousSibling), b será o próximo irmão de A (NavigateDirection_NextSibling). Um primeiro filho (NavigateDirection_FirstChild) não tem irmão anterior, e um último filho (NavigateDirection_LastChild) não tem outro irmão.
As raízes de fragmento não habilitam a navegação para um pai ou irmãos; a navegação entre raízes de fragmento é tratada pelos provedores de janela padrão. Elementos em fragmentos devem navegar apenas para outros elementos dentro desse fragmento.
Exemplos
O exemplo a seguir mostra uma implementação para um provedor de itens de lista. As variáveis de membro para os provedores pai, irmão anterior e próximo irmão foram inicializadas quando a lista foi criada.
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;
}
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [aplicativos da área de trabalho | Aplicativos UWP] |
servidor com suporte mínimo | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
da Plataforma de Destino |
Windows |
cabeçalho | uiautomationcore.h (include UIAutomation.h) |