Método ITextProvider::RangeFromChild (uiautomationcore.h)
Recupera un intervalo de texto que incluye el elemento secundario especificado (por ejemplo, una imagen, un hipervínculo u otro objeto incrustado).
Sintaxis
HRESULT RangeFromChild(
[in] IRawElementProviderSimple *childElement,
[out, retval] ITextRangeProvider **pRetVal
);
Parámetros
[in] childElement
Tipo: IRawElementProviderSimple*
Proveedor Automatización de la interfaz de usuario del elemento secundario especificado.
[out, retval] pRetVal
Tipo: ITextRangeProvider**
Intervalo de texto que incluye el elemento secundario.
Este intervalo incluye completamente el contenido del elemento secundario de modo que:
- ITextRangeProvider::GetEnclosingElement devuelve el propio elemento secundario o el descendiente más interno del elemento secundario que comparte el mismo intervalo de texto que el elemento secundario.
- ITextRangeProvider::GetChildren devuelve elementos secundarios del elemento de (1) que están completamente incluidos dentro del intervalo.
- Ambos extremos del intervalo se encuentran en los límites del elemento secundario.
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.
Nota
E_INVALIDARG se devuelve si childElement no es descendiente de un ITextProvider o no está incluido en un intervalo de texto válido.
Comentarios
Cada elemento recuperado con ITextRangeProvider::GetChildren también tiene un intervalo de texto válido que se puede recuperar a través de RangeFromChild. Esto incluye los elementos del árbol de 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.
Hola <vínculo de> imagen mundo
- 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).
- ITextRangeProvider::GetChildren no devuelve el vínculo.
- ITextRangeProvider::GetEnclosingElement no devuelve la imagen de ningún intervalo de texto.
- ITextRangeProvider::GetEnclosingElement en Range1 devuelve el vínculo.
- ITextRangeProvider::GetChildren on Range1 no devuelve ningún elemento secundario.
- ITextRangeProvider::GetEnclosingElement en el intervalo de texto del ITextProvider de la secuencia devuelve el proveedor.
- ITextRangeProvider::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 rango que incluye el rango degenerado).
- ITextRangeProvider::GetChildren no devuelve ningún elemento.
- Caso 1: ITextProvider de la secuencia y intervalo de texto completo
Requisitos
Requisito | Value |
---|---|
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 (incluir UIAutomation.h) |
Consulte también
ITextProvider, ITextRangeProvider, ITextRangeProvider::GetEnclosingElement, ITextRangeProvider::GetChildren, Automatización de la interfaz de usuario Providers Overview