Método IRawElementProviderWindowlessSite::GetAdjacentFragment (uiautomationcore.h)
Recupera um ponteiro de fragmento para um fragmento adjacente ao controle Microsoft ActiveX sem janelas pertencente a este site de controle.
Sintaxe
HRESULT GetAdjacentFragment(
NavigateDirection direction,
[out, retval] IRawElementProviderFragment **ppParent
);
Parâmetros
direction
[out, retval] ppParent
Tipo: IRawElementProviderFragment**
Recebe o fragmento adjacente.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT. O valor retornado será E_INVALIDARG se a direção for NavigateDirection_FirstChild ou NavigateDirection_LastChild, que não são válidas para esse método. Se não houver fragmento adjacente na direção solicitada, o método retornará S_OK e definirá ppRetVal como NULL.
Comentários
Para retornar o pai do fragmento, um objeto que implementa a interface IRawElementProviderFragment deve ser capaz de implementar o método Navigate . A implementação de Navigate é difícil para um controle ActiveX sem janelas porque o controle pode não conseguir determinar sua localização na árvore acessível do objeto pai. O método GetAdjacentFragment permite que o controle ActiveX sem janelas consulte seu site para o fragmento adjacente e, em seguida, retorne esse fragmento para o cliente que chamou Navigate.
Um provedor normalmente chama esse método como parte do tratamento do método IRawElementProviderFragment::Navigate .
Exemplos
O exemplo de código C++ a seguir mostra como implementar o método GetAdjacentFragment .
IFACEMETHODIMP CProviderWindowlessSite::GetAdjacentFragment(
enum NavigateDirection direction, IRawElementProviderFragment **ppFragment)
{
if (ppFragment == NULL)
{
return E_INVALIDARG;
}
*ppFragment = NULL;
HRESULT hr = S_OK;
switch (direction)
{
case NavigateDirection_Parent:
{
IRawElementProviderSimple *pSimple = NULL;
// Call an application-defined function to retrieve the
// parent provider interface.
hr = GetParentProvider(&pSimple);
if (SUCCEEDED(hr))
{
// Get the parent's IRawElementProviderFragment interface.
hr = pSimple->QueryInterface(IID_PPV_ARGS(ppFragment));
pSimple->Release();
}
}
break;
case NavigateDirection_FirstChild:
case NavigateDirection_LastChild:
hr = E_INVALIDARG;
break;
// Ignore NavigateDirection_NextSibling and NavigateDirection_PreviousSibling
// because there are no adjacent fragments.
default:
break;
}
return hr;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | uiautomationcore.h (include UIAutomation.h) |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de