Método ITextRangeProvider::Move (uiautomationcore.h)
Mueve el intervalo de texto hacia delante o hacia atrás por el número especificado de unidades de texto.
Sintaxis
HRESULT Move(
[in] TextUnit unit,
[in] int count,
[out, retval] int *pRetVal
);
Parámetros
[in] unit
Tipo: TextUnit de
Tipo de unidades de texto, como carácter, palabra, párrafo, etc.
[in] count
Tipo: int
Número de unidades de texto que se van a mover. Un valor positivo mueve el intervalo de texto hacia delante.
Un valor negativo mueve el intervalo de texto hacia atrás. Cero no tiene ningún efecto.
[out, retval] pRetVal
Tipo: int*
Número de unidades de texto que realmente se han movido. Puede ser menor que el número solicitado si cualquiera de los nuevos puntos de conexión de intervalo de texto es mayor o menor que los puntos de conexión recuperados por el método ITextProvider::D ocumentRange. Este valor puede ser negativo si la navegación se está produciendo en la dirección hacia atrás.
Valor devuelto
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un hrESULT código de error.
Observaciones
ITextRangeProvider::Move solo debe mover el intervalo de texto para abarcar una parte diferente del texto, no debe modificar el texto de ninguna manera.
Para un intervalo de texto no degenerado (no vacío), ITextRangeProvider::Move debe normalizar y mover el intervalo de texto realizando los pasos siguientes.
- Contraiga el intervalo de texto a un intervalo degenerado (vacío) en el punto de conexión inicial.
- Si es necesario, mueva el intervalo de texto resultante hacia atrás en el documento hasta el principio del límite de unidad solicitado.
- Mueva el intervalo de texto hacia delante o hacia atrás en el documento por el número solicitado de límites de unidad de texto.
- Expanda el intervalo de texto desde el estado degenerado moviendo el extremo final hacia delante por un límite de unidad de texto solicitado.
Para un intervalo de texto degenerado, ITextRangeProvider::Move simplemente debe mover el punto de inserción de texto por el número especificado de unidades de texto.
Al mover un intervalo de texto, el proveedor debe omitir los límites de los objetos incrustados del texto.
ITextRangeProvider::Move debe respetar el texto oculto y visible.
Si un control basado en texto no admite la unidad de texto especificada por el parámetro unidad, el proveedor debe sustituir la siguiente unidad de texto compatible más grande.
El tamaño de las unidades de texto, de la unidad más pequeña a la más grande, es el siguiente.
- Carácter
- Formato
- Palabra
- Línea
- Párrafo
- Página
- Documento
comportamiento de intervalo cuando se unidad de
TextUnit::Format
como unidad de valor coloca el límite de un intervalo de texto para expandir o mover el intervalo en función de los atributos de texto compartidos (formato) del texto dentro del intervalo. Sin embargo, el uso de la unidad de texto de formato no debe mover ni expandir un intervalo de texto a través del límite de un objeto incrustado, como una imagen o un hipervínculo. Para obtener más información, consulta unidades de texto de automatización de la interfaz de usuario o patrones de control Text y TextRange.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP [aplicaciones de escritorio | Aplicaciones para UWP] |
servidor mínimo admitido | Windows Server 2003 [aplicaciones de escritorio | Aplicaciones para UWP] |
de la plataforma de destino de |
Windows |
encabezado de |
uiautomationcore.h (include UIAutomation.h) |
Consulte también
conceptual de
de referencia de
patrones de control Text y TextRange
Introducción a los proveedores de automatización de la interfaz de usuario de