Partilhar via


ITextRange.Move(TextRangeUnit, Int32) Método

Definição

Move o ponto de inserção para frente ou para trás pelo número especificado de unidades . Se o intervalo de texto não for descritivo, ele será recolhido a um ponto de inserção na posição inicial ou final do intervalo de texto, dependendo de contageme, em seguida, será movido.

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

As unidades para mover o ponto de inserção. O valor padrão é character.

count
Int32

int

O número de unidades para mover o ponto de inserção. O valor padrão é 1. Se contagem for maior que zero, o ponto de inserção avançará até o final da história. Se contagem for menor que zero, o ponto de inserção se moverá para trás, em direção ao início da história. Se contagem for zero, o intervalo ficará inalterado.

Retornos

Int32

int

O número real de unidades o ponto de inserção se move. Para obter mais informações, consulte a seção Comentários.

Comentários

Se o intervalo for degenerado (um ponto de inserção), esse método tentará mover o ponto de inserção do número de unidades especificadas por contagem.

Se o intervalo não for inferior e contagem for maior que zero, esse método recolherá o intervalo para um ponto de inserção no final do intervalo, moverá o ponto de inserção resultante para um limite de de unidade de (se ainda não estiver em um) e tentará mover contagem – 1 unidadeavançar. Se o intervalo não for inferior e contagem for menor que zero, esse método recolherá o intervalo para um ponto de inserção no início do intervalo, moverá o ponto de inserção resultante para trás para um limite de unidade de (se ainda não estiver em um) e tentará mover contagem – 1 unidadepara trás. Assim, em ambos os casos, recolher um intervalo não descritivo para um ponto de inserção, seja movendo-se para o início ou o final da unidade após o colapso, conta como uma unidade .

Esse método retorna o número de unidaderealmente movidas. Esse método nunca move o ponto de inserção além da história desse intervalo. Se contarunidademoverão o ponto de inserção antes do início da história, o ponto de inserção será movido para o início da história e o resultado será definido adequadamente. Da mesma forma, se contarunidades moveria o ponto de inserção para além do final da história, ele será movido para o final da história.

Contagem corresponde ao número de vezes que você pressiona Ctrl+Seta para a direita.

Por exemplo, se você pressionar Ctrl+Seta para a direita para as seleções mostradas em ambas as figuras a seguir, você acabará com um ponto de inserção na posição 8 do caractere, pois esse comando recolherá as seleções em suas extremidades (7 e 8, respectivamente) e passará para o próximo limite Word.

posições de caractere para a cadeia de caracteres de texto A primeira seleção não inclui o espaço em branco na posição 7 do caractere, portanto, Ctrl+Seta para a direita passa pelo espaço até o limite **Word** na posição 8 do caractere. A posição final do intervalo já está em um limite **Word** para a segunda seleção, portanto, Ctrl+Seta para a direita apenas recolhe a seleção nesse limite. Da mesma forma, Ctrl+Seta para a esquerda, que para este texto atua como 'Move(Word, -1)'. Mas Ctrl+Seta para a Esquerda recolhe a segunda seleção na posição 4 do caractere e, em seguida, passa para zero, porque esse é o próximo limite **Word** na direção do movimento.

O argumento de retorno é definido igual ao número de unidades em que o ponto de inserção é movido, incluindo uma unidade para recolher um intervalo não descritivo e movê-lo para um limite de unidade de . Portanto, se nenhum movimento e nenhum recolhimento ocorrerem, como quando o intervalo for um ponto de inserção no final da história, o resultado será definido como zero. Essa abordagem é útil para controlar loops de aplicativo que processam uma história inteira.

Em ambos os casos mencionados anteriormente, chamar Move(Word, 1) define o resultado como 1 porque os intervalos foram recolhidos. Da mesma forma, chamar Move(Word, -1) define o resultado como – 1 para ambos os casos. O recolhimento, com ou sem mover parte de uma unidade para um limite de unidade , conta como uma unidade movida.

A direção do movimento refere-se à ordenação de caracteres lógicos no repositório de backup de texto sem formatação. Essa abordagem evita os problemas de ordenação geométrica, como esquerda versus direita e superior versus para baixo, em software internacional. Esses métodos geométricos ainda são necessários no mecanismo de edição, é claro, porque os teclados têm teclas de direção para invocar movimentos geométricos.

O ITextSelection métodos de interface do usuário fazem backup em um CR/LF (retorno de carro/alimentação de linha) como se fosse um único caractere, mas os métodos ITextRange.Move contam o retorno de carro/alimentação de linha (CR/LF) como dois caracteres. É claramente melhor usar um único caractere como separador de parágrafo, que é representado pelo CR, embora o caractere separador de parágrafo Unicode, 0x2029, seja aceito. Em geral, o controle rich edit dá suporte ao retorno de carro/alimentação de linha (CR/LF), CR, LF, VT (guia vertical), FF (feed de formulários) e 0x2029. O Microsoft Rich Edit 2.0 também dá suporte a CR/CR/LF para compatibilidade com versões anteriores.

Consulte também os métodos ITextRange.MoveStart e ITextRange.MoveEnd, que movem a posição inicial ou final do intervalo contagem de unidade, respectivamente.

Aplica-se a

Confira também