Método ITextProvider::RangeFromChild (uiautomationcore.h)
Recupera um intervalo de texto que inclui o elemento filho especificado (por exemplo, uma imagem, hiperlink ou outro objeto inserido).
Sintaxe
HRESULT RangeFromChild(
[in] IRawElementProviderSimple *childElement,
[out, retval] ITextRangeProvider **pRetVal
);
Parâmetros
[in] childElement
Tipo: IRawElementProviderSimple*
O provedor Automação da Interface do Usuário do elemento filho especificado.
[out, retval] pRetVal
Tipo: ITextRangeProvider**
O intervalo de texto que inclui o elemento filho.
Esse intervalo inclui completamente o conteúdo do elemento filho de modo que:
- ITextRangeProvider::GetEnclosingElement retorna o próprio elemento filho ou o descendente mais interno do elemento filho que compartilha o mesmo intervalo de texto que o elemento filho
- ITextRangeProvider::GetChildren retorna filhos do elemento de (1) que estão completamente entre o intervalo
- Ambos os pontos de extremidade do intervalo estão nos limites do elemento filho
Este parâmetro é passado não inicializado.
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.
Observação
E_INVALIDARG será retornado se childElement não for um descendente de um ITextProvider ou não estiver entre um intervalo de texto válido.
Comentários
Cada elemento recuperado com ITextRangeProvider::GetChildren também tem um intervalo de texto válido que pode ser recuperado por meio de RangeFromChild. Isso inclui todos os elementos na árvore Automação da Interface do Usuário entre o ITextProvider e o elemento filho.
Exemplos
Este exemplo mostra um fluxo de texto que contém um link de imagem. O link é um filho da imagem, mas ambos abrangem o mesmo intervalo de texto e são expostos como objetos inseridos no fluxo de texto.
Hello <Image Link> World
- A imagem e o link também são descendentes do ITextProvider do fluxo e podem ser especificados como childElement em uma chamada para ITextProvider::RangeFromChild.
- Chamar ITextRangeProvider::RangeFromChild, usando a imagem ou o link, retorna o mesmo intervalo de texto (Range1).
- ITextRangeProvider::GetChildren não retorna o link.
- ITextRangeProvider::GetEnclosingElement não retorna a imagem para nenhum intervalo de texto.
- ITextRangeProvider::GetEnclosingElement no Range1 retorna o link.
- ITextRangeProvider::GetChildren no Range1 não retorna nenhum filho.
- ITextRangeProvider::GetEnclosingElement no intervalo de texto do ITextProvider do fluxo retorna o provedor.
- ITextRangeProvider::GetChildren no intervalo de texto do ITextProvider do fluxo retorna apenas a imagem.
Este exemplo mostra um fluxo de texto que contém uma tabela de duas células cercada por texto.
Iniciar texto
Célula da Tabela 1 Célula da Tabela 2 End Text
- Caso 1: ITextProvider do fluxo e todo o intervalo de texto
- ITextRangeProvider::GetEnclosingElement em todo o intervalo de texto retorna o ITextProvider do fluxo.
- GetChildren retorna todos os elementos filho do ITextProvider do fluxo, somente o elemento de tabela nesse caso.
- Caso 2: intervalo de texto obtido chamando ITextProvider::RangeFromChild no elemento de tabela:
- ITextRangeProvider::GetEnclosingElement retorna o elemento table.
- ITextRangeProvider::GetChildren retorna ambas as células da tabela.
- Caso 3: intervalo de texto que abrange o conteúdo visual da Célula da Tabela 1 Célula da Tabela 2:
- ITextRangeProvider::GetEnclosingElement retorna o elemento table.
- ITextRangeProvider::GetChildren retorna ambas as células da tabela.
- Caso 4: intervalo de texto que abrange a palavra Célula da Célula da Tabela 1:
- ITextRangeProvider::GetEnclosingElement retorna o primeiro elemento de célula.
- ITextRangeProvider::GetChildren não retorna elementos.
- Caso 5: um intervalo de texto degenerado (vazio) que representa as duas partidas (tabela e primeira célula):
- ITextRangeProvider::GetEnclosingElement retorna o primeiro elemento de célula (o elemento mais interno com um intervalo que inclui o intervalo degenerado).
- ITextRangeProvider::GetChildren não retorna elementos.
- Caso 1: ITextProvider do fluxo e todo o intervalo de texto
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | uiautomationcore.h (inclua UIAutomation.h) |
Confira também
ITextProvider, ITextRangeProvider, ITextRangeProvider::GetEnclosingElement, ITextRangeProvider::GetChildren, Automação da Interface do Usuário Providers Overview