Método ITextRangeProvider::GetChildren (uiautomationcore.h)
Recupera uma coleção de todos os elementos contidos (parcial ou completamente) dentro do intervalo de texto especificado e são elementos filho do elemento delimitador para o intervalo de texto especificado.
Sintaxe
HRESULT GetChildren(
[out, retval] SAFEARRAY **pRetVal
);
Parâmetros
[out, retval] pRetVal
Tipo: SAFEARRAY**
Uma matriz de ponteiros para as interfaces IRawElementProviderSimple para todos os elementos filho incluídos pelo intervalo de texto (classificado pelo ponto de extremidade Iniciar de seus intervalos).
Se o intervalo de texto não incluir nenhum elemento filho, uma coleção vazia será retornada.
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.
Comentários
Cada elemento recuperado com ITextRangeProvider::GetChildren 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).
- GetChildren não retorna o link.
- GetEnclosingElement não retorna a imagem para nenhum intervalo de texto.
- GetEnclosingElement em Range1 retorna o link.
- GetChildren on Range1 não retorna nenhum filho.
- GetEnclosingElement no intervalo de texto do ITextProvider do fluxo retorna o provedor.
- 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
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, GetEnclosingElement, ITextProvider::RangeFromChild, visão geral dos provedores de Automação da Interface do Usuário, práticas recomendadaspara usar matrizes seguras