Compartir a través de


ITextRange.Move(TextRangeUnit, Int32) Método

Definición

Mueve el punto de inserción hacia delante o hacia atrás por el número especificado de unidades de . Si el intervalo de texto no es desndegenerado, se contrae a un punto de inserción en la posición inicial o final del intervalo de texto, en función de recuentoy, a continuación, se mueve.

public:
 int Move(TextRangeUnit unit, int count);
int Move(TextRangeUnit const& unit, int const& count);
public int Move(TextRangeUnit unit, int count);
function move(unit, count)
Public Function Move (unit As TextRangeUnit, count As Integer) As Integer

Parámetros

unit
TextRangeUnit

Unidades para mover el punto de inserción. El valor predeterminado es character.

count
Int32

int

Número de unidades de para mover el punto de inserción. El valor predeterminado es 1. Si recuento es mayor que cero, el punto de inserción avanza hacia delante, hacia el final del artículo. Si recuento es menor que cero, el punto de inserción se mueve hacia atrás, hacia el principio del artículo. Si recuento es cero, el intervalo no cambia.

Devoluciones

Int32

int

Número real de unidades de se mueve el punto de inserción. Para obtener más información, vea la sección Comentarios.

Comentarios

Si el intervalo se degenera (un punto de inserción), este método intenta mover el punto de inserción el número de unidades especificadas por recuento.

Si el intervalo no es desndegenerado y recuento es mayor que cero, este método contrae el intervalo en un punto de inserción al final del intervalo, mueve el punto de inserción resultante hacia delante a una unidad de límite (si aún no está en uno) e intenta mover recuento – 1 unidads hacia delante. Si el intervalo no es desndegenerado y recuento es menor que cero, este método contrae el intervalo a un punto de inserción al principio del intervalo, mueve el punto de inserción resultante hacia atrás a una unidad de límite (si aún no está en uno) y, a continuación, intenta mover recuento – 1 unidadhacia atrás. Por lo tanto, en ambos casos, contraer un intervalo no degenerado a un punto de inserción, si se mueve al inicio o al final de la unidad de después del colapso, cuenta como una unidad de .

Este método devuelve el número de unidadse mueve realmente. Este método nunca mueve el punto de inserción más allá del artículo de este intervalo. Si recuentounidads movería el punto de inserción antes del principio del artículo, el punto de inserción se mueve al principio del artículo y el resultado se establece en consecuencia. Del mismo modo, si recuentounidads movería el punto de inserción más allá del final del artículo, se mueve al final del artículo.

Count corresponde al número de veces que presiona Ctrl+Flecha derecha.

Por ejemplo, si presiona Ctrl+Flecha derecha para las selecciones que se muestran en las dos figuras siguientes, termina con un punto de inserción en la posición de carácter 8, ya que este comando contrae las selecciones en sus extremos (7 y 8, respectivamente) y se mueve al siguiente límite de Word.

posiciones de caracteres para la cadena de texto La primera selección no incluye el espacio en blanco en la posición del carácter 7, por lo que Ctrl+Flecha derecha se mueve más allá del espacio al límite **Word** en la posición del carácter 8. La posición final del intervalo ya está en un límite **Word** para la segunda selección, por lo que Ctrl+Flecha derecha simplemente contrae la selección en ese límite. Del mismo modo, Ctrl+Flecha izquierda, que para este texto actúa como "Move(Word, -1)". Pero Ctrl+Flecha izquierda contrae la segunda selección en la posición de carácter 4 y, a continuación, se mueve a cero, porque es el siguiente límite **Word** en la dirección del movimiento.

El argumento return se establece igual al número de unidades de que se mueve el punto de inserción, incluido un unidad para contraer un intervalo no desndegenerado y moverlo a un límite de unidad de . Por lo tanto, si no se produce ningún movimiento y no se produce ningún colapso, como cuando el intervalo es un punto de inserción al final del artículo, el resultado se establece igual a cero. Este enfoque es útil para controlar los bucles de la aplicación que procesan toda una historia.

En ambos casos mencionados anteriormente, la llamada a Move(Word, 1) establece el resultado igual a 1 porque los intervalos estaban contraídos. De forma similar, la llamada a Move(Word, -1) establece el resultado igual a – 1 para ambos casos. Contraer, con o sin mover parte de una unidad de a un límite de unidad, cuenta como una unidad de movido.

La dirección del movimiento hace referencia al orden de caracteres lógico en el almacén de respaldo de texto sin formato. Este enfoque evita los problemas de ordenación geométrica, como izquierda frente a derecha y hacia abajo, en software internacional. Estos métodos geométricos siguen siendo necesarios en el motor de edición, por supuesto, porque los teclados tienen teclas de dirección para invocar movimientos geométricos.

Los métodos de interfaz de usuario de ITextSelection copia de seguridad en un retorno de carro/avance de línea (CR/LF) como si fuera un solo carácter, pero los métodos ITextRange.Move cuentan retorno de carro/avance de línea (CR/LF) como dos caracteres. Es claramente mejor usar un solo carácter como separador de párrafo, que se representa mediante CR, aunque se acepta el carácter separador de párrafo Unicode, 0x2029. En general, el control de edición enriquecido admite retorno de carro/avance de línea (CR/LF), CR, LF, VT (pestaña vertical), FF (fuente de formulario) y 0x2029. Microsoft Rich Edit 2.0 también admite CR/CR/LF para la compatibilidad con versiones anteriores.

Consulte también los métodos ITextRange.MoveStart y ITextRange.MoveEnd, que mueven la posición inicial o final del intervalo recuentounidad s, respectivamente.

Se aplica a

Consulte también