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(
                TextUnit unit,
  [in]          int      count,
  [out, retval] int      *pRetVal
);

Parámetros

unit

[in] count

Tipo: int

Número de unidades de texto que se deben 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 movieron. 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

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

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 mediante los pasos siguientes.

  1. Contraiga el intervalo de texto a un intervalo degenerado (vacío) en el punto de conexión inicial.
  2. Si es necesario, mueva el intervalo de texto resultante hacia atrás en el documento al principio del límite de unidad solicitado.
  3. 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.
  4. Expanda el intervalo de texto desde el estado degenerado moviendo el extremo final hacia delante por un límite de unidad de texto solicitado.
Si se produce un error en alguno de los pasos anteriores, el intervalo de texto debe dejarse sin cambios. Si el intervalo de texto no se puede mover hasta el número solicitado de unidades de texto, pero se puede mover por un número menor de unidades de texto, el intervalo de texto debe moverse por el menor número de unidades de texto y pRetVal debe establecerse en el número de unidades de texto que se han movido correctamente.

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 unit , el proveedor debe sustituir la siguiente unidad de texto compatible con mayor tamaño.

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
  • Word
  • Línea
  • Paragraph
  • Página
  • Documento

Comportamiento del intervalo cuando la unidad es TextUnit::Format

TextUnit::Format como un valor de unidad 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 Automatización de la interfaz de usuario unidades de texto o patrones de control Text y TextRange.

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

Conceptual

ITextProvider

ITextRangeProvider

Referencia

Patrones de control Text y TextRange

Información general sobre proveedores de UI Automation