Condividi tramite


ITextRange.Move(TextRangeUnit, Int32) Metodo

Definizione

Sposta il punto di inserimento in avanti o indietro in base al numero specificato di unità di . Se l'intervallo di testo non è generato, viene compresso in un punto di inserimento all'inizio o alla fine dell'intervallo di testo, a seconda del conteggio e quindi viene spostato.

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

Parametri

unit
TextRangeUnit

Unità di misura per spostare il punto di inserimento. Il valore predefinito è Character.

count
Int32

int

Numero di unità di per spostare il punto di inserimento. Il valore predefinito è 1. Se conteggio è maggiore di zero, il punto di inserimento si sposta in avanti, verso la fine del brano. Se conteggio è minore di zero, il punto di inserimento si sposta all'indietro, verso l'inizio della storia. Se conteggio è zero, l'intervallo rimane invariato.

Restituisce

Int32

int

Numero effettivo di unità di si sposta il punto di inserimento. Per altre informazioni, vedere la sezione Osservazioni.

Commenti

Se l'intervallo viene degenerato (un punto di inserimento), questo metodo tenta di spostare il punto di inserimento il numero di unità specificate da conteggio.

Se l'intervallo non è generato e conteggio è maggiore di zero, questo metodo comprime l'intervallo in un punto di inserimento alla fine dell'intervallo, sposta il punto di inserimento risultante in avanti a un'unità limite (se non è già in uno), quindi tenta di spostare conteggio - 1 unitàavanti. Se l'intervallo non è generato e conteggio è minore di zero, questo metodo comprime l'intervallo in un punto di inserimento all'inizio dell'intervallo, sposta il punto di inserimento risultante all'indietro in un'unità di (se non è già in uno), quindi tenta di spostare conteggio - 1 unitàindietro. Pertanto, in entrambi i casi, comprime un intervallo non generato in un punto di inserimento, sia che si sposti all'inizio o alla fine dell'unità di dopo il collasso, conteggia come unità di .

Questo metodo restituisce il numero di unità effettivamente spostate. Questo metodo non sposta mai il punto di inserimento oltre la storia di questo intervallo. Se conteggiounitàs sposta il punto di inserimento prima dell'inizio del brano, il punto di inserimento viene spostato all'inizio del brano e il risultato viene impostato di conseguenza. Analogamente, se conteggiounitàs sposta il punto di inserimento oltre la fine della storia, viene spostato alla fine della storia.

conteggio corrisponde al numero di volte in cui si preme CTRL+Freccia DESTRA.

Ad esempio, se si preme CTRL+Freccia destra per le selezioni visualizzate in entrambe le figure seguenti, si finisce con un punto di inserimento in corrispondenza della posizione del carattere 8, perché questo comando comprime le selezioni alle relative estremità (rispettivamente 7 e 8) e si sposta al successivo limite Word.

Posizioni carattere per la stringa di testo La prima selezione non include lo spazio vuoto in corrispondenza della posizione del carattere 7, quindi CTRL+Freccia destra passa oltre lo spazio al limite **Word** in corrispondenza della posizione del carattere 8. La posizione finale dell'intervallo si trova già in corrispondenza di un limite **Word** per la seconda selezione, quindi CTRL+Freccia destra comprime semplicemente la selezione in corrispondenza di tale limite. Analogamente, CTRL+Freccia sinistra, che per questo testo funge da 'Move(Word, -1)'. Ma CTRL+Freccia sinistra comprime la seconda selezione in corrispondenza della posizione del carattere 4 e quindi si sposta su zero, perché si tratta del successivo limite **Word** nella direzione del movimento.

L'argomento restituito è impostato uguale al numero di unità che il punto di inserimento viene spostato, incluso un di unità di per comprimere un intervallo non generato e spostarlo in un'unità di limite. Pertanto, se non si verifica alcun movimento e nessun collasso, come quando l'intervallo è un punto di inserimento alla fine del brano, il risultato viene impostato su zero. Questo approccio è utile per controllare i cicli di app che elaborano un intero brano.

In entrambi i casi menzionati in precedenza, la chiamata Move(Word, 1) imposta il risultato uguale a 1 perché gli intervalli sono stati compressi. Analogamente, la chiamata Move(Word, -1) imposta il risultato uguale a - 1 per entrambi i casi. Comprimendo, con o senza spostare parte di un'unità di in un limite unità, viene conteggiato come unità di spostata.

La direzione del movimento fa riferimento all'ordinamento dei caratteri logici nell'archivio di backup di testo normale. Questo approccio evita i problemi di ordinamento geometrico, ad esempio a sinistra rispetto a destra e verso il basso, nel software internazionale. Questi metodi geometrici sono ancora necessari nel motore di modifica, naturalmente, perché le tastiere hanno tasti di direzione per richiamare movimenti geometrici.

Il ITextSelection metodi dell'interfaccia utente esegue il backup su un ritorno a capo/avanzamento riga (CR/LF) come se fosse un singolo carattere, ma i metodi ITextRange.Move conteggiano il ritorno a capo/avanzamento riga (CR/LF) come due caratteri. È chiaramente preferibile usare un singolo carattere come separatore di paragrafo, rappresentato da CR, anche se il carattere separatore di paragrafo Unicode, 0x2029, viene accettato. In generale, il controllo rich edit supporta ritorno a capo/avanzamento riga (CR/LF), CR, LF, VT (scheda verticale), FF (feed di modulo) e 0x2029. Microsoft Rich Edit 2.0 supporta anche CR/CR/LF per la compatibilità con le versioni precedenti.

Vedere anche i metodi ITextRange.MoveStart e ITextRange.MoveEnd, che spostano rispettivamente la posizione iniziale o finale dell'intervallo conteggiounità s.

Si applica a

Vedi anche