ITextRange.Move(TextRangeUnit, Int32) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.
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
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.