Método ITextRangeProvider::GetChildren (uiautomationcore.h)
Recupera una colección de todos los elementos contenidos (parcial o completamente) dentro del intervalo de texto especificado y son elementos secundarios del elemento envolvente para el intervalo de texto especificado.
Sintaxis
HRESULT GetChildren(
[out, retval] SAFEARRAY **pRetVal
);
Parámetros
[out, retval] pRetVal
Tipo: SAFEARRAY**
Matriz de punteros a las interfaces IRawElementProviderSimple para todos los elementos secundarios que se incluyen en el intervalo de texto (ordenados por el punto de conexión Start de sus intervalos).
Si el intervalo de texto no incluye ningún elemento secundario, se devuelve una colección vacía.
Este parámetro se pasa sin inicializar.
Valor devuelto
Tipo: HRESULT
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Cada elemento recuperado con ITextRangeProvider::GetChildren tiene un intervalo de texto válido que se puede recuperar a través de RangeFromChild. Esto incluye todos los elementos del árbol Automatización de la interfaz de usuario entre ITextProvider y el elemento secundario.
Ejemplos
En este ejemplo se muestra una secuencia de texto que contiene un vínculo de imagen. El vínculo es un elemento secundario de la imagen, pero ambos abarcan el mismo intervalo de texto y se exponen como objetos incrustados dentro de la secuencia de texto.
Hello <Image Link> World
- Tanto la imagen como el vínculo también son descendientes del ITextProvider de la secuencia y se pueden especificar como childElement en una llamada a ITextProvider::RangeFromChild.
- Al llamar a ITextRangeProvider::RangeFromChild, mediante la imagen o el vínculo, se devuelve el mismo intervalo de texto (Range1).
- GetChildren no devuelve el vínculo.
- GetEnclosingElement no devuelve la imagen de ningún intervalo de texto.
- GetEnclosingElement en Range1 devuelve el vínculo.
- GetChildren on Range1 no devuelve ningún elemento secundario.
- GetEnclosingElement en el intervalo de texto del ITextProvider de la secuencia devuelve el proveedor.
- GetChildren en el intervalo de texto del ITextProvider de la secuencia devuelve solo la imagen.
En este ejemplo se muestra una secuencia de texto que contiene una tabla de dos celdas rodeada de texto.
Texto de inicio
Celda de tabla 1 Celda de tabla 2 Texto final
- Caso 1: ITextProvider de la secuencia y intervalo de texto completo
- ITextRangeProvider::GetEnclosingElement en todo el intervalo de texto devuelve el ITextProvider de la secuencia.
- GetChildren devuelve todos los elementos secundarios del ITextProvider de la secuencia, solo el elemento table en este caso.
- Caso 2: Intervalo de texto obtenido llamando a ITextProvider::RangeFromChild en el elemento de tabla:
- ITextRangeProvider::GetEnclosingElement devuelve el elemento table.
- ITextRangeProvider::GetChildren devuelve ambas celdas de tabla.
- Caso 3: Intervalo de texto que abarca el contenido visual de la celda de tabla 1 Celda de tabla 2:
- ITextRangeProvider::GetEnclosingElement devuelve el elemento table.
- ITextRangeProvider::GetChildren devuelve ambas celdas de tabla.
- Caso 4: Intervalo de texto que abarca la palabra Celda de la tabla 1:
- ITextRangeProvider::GetEnclosingElement devuelve el primer elemento de celda.
- ITextRangeProvider::GetChildren no devuelve ningún elemento.
- Caso 5: intervalo de texto degenerado (vacío) que representa ambos inicios (tabla y primera celda):
- ITextRangeProvider::GetEnclosingElement devuelve el primer elemento de celda (el elemento más interno con un intervalo que incluye el intervalo degenerado).
- ITextRangeProvider::GetChildren no devuelve ningún elemento.
- Caso 1: ITextProvider de la secuencia y intervalo de texto completo
Requisitos
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | uiautomationcore.h (include UIAutomation.h) |
Consulte también
ITextProvider, ITextRangeProvider, GetEnclosingElement, ITextProvider::RangeFromChild, Automatización de la interfaz de usuario Providers Overview, Best Practices for Using Safe Arrays