Compartilhar 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 para um ponto de inserção na posição inicial ou final do intervalo de texto, dependendo da contagem e, 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 count for maior que zero, o ponto de inserção avançará até o final da história. Se count for menor que zero, o ponto de inserção se moverá para trás, em direção ao início da história. Se count for zero, o intervalo ficará inalterado.

Retornos

Int32

int

O número real de unidades que o ponto de inserção 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 especificado pela contagem.

Se o intervalo não for descrigente e a 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 frente para um limite de unidade (se ainda não estiver em um) e tentará mover a contagem – 1 unidadepara a frente. Se o intervalo não for denogerar e a 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 (se ainda não estiver em um) e tentará mover a contagem – 1 unidadepara trás. Assim, em ambos os casos, recolher um intervalo não descrigênculo para um ponto de inserção, seja movendo-se para o início ou fim da unidade após o colapso, conta como uma unidade.

Esse método retorna o número de unidadesrealmente movidas. Esse método nunca move o ponto de inserção para além da história desse intervalo. Se a unidadede contagem s mover 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 de acordo. Da mesma forma, se a unidadede contagem s mover o ponto de inserção para além do final da história, ela será movida para o final da história.

A 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 do espaço para o limite **Word** na posição 8 do caractere. A posição final do intervalo já está em um limite de **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 esse texto age como 'Move(Word, -1)'. Mas Ctrl+Seta para a esquerda recolhe a segunda seleção na posição 4 do caractere e, em seguida, move-se para zero, pois esse é o próximo limite de **Word** na direção do movimento.

O argumento return é definido como igual ao número de unidadess em que o ponto de inserção é movido, incluindo uma unidade para recolher um intervalo não geral e movê-lo para um limite de unidade . 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 igual a 1 porque os intervalos foram recolhidos. Da mesma forma, chamar Move(Word, -1) define o resultado igual a – 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 suporte de texto sem formatação. Essa abordagem evita os problemas de ordenação geométrica, como esquerda versus direita e para cima e para cima e 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.

Os métodos de interface do usuário ITextSelection 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 por CR, embora o caractere separador de parágrafo Unicode, 0x2029, seja aceito. Em geral, o controle de edição avançada dá suporte a CR/LF (retorno de carro/alimentação de linha), CR, LF, VT (guia vertical), FF (feed de formulário) 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 as unidades de contagem de posição inicial ou final do intervalo, respectivamente.

Aplica-se a

Confira também