ITextRange.Move(TextRangeUnit, Int32) Méthode

Définition

Déplace le point d’insertion vers l’avant ou vers l’arrière par le nombre spécifié d’unités . Si la plage de texte n’est pas générée, elle est réduite à un point d’insertion à la position de début ou de fin de la plage de texte, selon nombre, puis est déplacée.

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

Paramètres

unit
TextRangeUnit

Unités pour déplacer le point d’insertion. La valeur par défaut est Caractère.

count
Int32

int

Nombre d’unités pour déplacer le point d’insertion. La valeur par défaut est 1. Si nombre est supérieur à zéro, le point d’insertion avance vers l’avant, vers la fin de l’histoire. Si compte est inférieur à zéro, le point d’insertion se déplace vers l’arrière, vers le début de l’histoire. Si nombre est égal à zéro, la plage n’est pas modifiée.

Retours

Int32

int

Nombre réel d’unités le point d’insertion se déplace. Pour plus d’informations, consultez la section Remarques.

Remarques

Si la plage est dégénérée (point d’insertion), cette méthode tente de déplacer le point d’insertion le nombre d’unités spécifiées par nombre.

Si la plage n’est pas générée et nombre est supérieur à zéro, cette méthode réduit la plage à un point d’insertion à la fin de la plage, déplace le point d’insertion résultant vers une unité limite (s’il n’en est pas déjà à un), puis tente de déplacer nombre – 1 unité s’avance. Si la plage n’est pas générée et nombre est inférieur à zéro, cette méthode réduit la plage à un point d’insertion au début de la plage, déplace le point d’insertion résultant vers l’arrière d’une unité limite (s’il n’en est pas déjà à un), puis tente de déplacer nombre - 1 unité 'unitéarrière. Ainsi, dans les deux cas, la réduction d’une plage non générée vers un point d’insertion, qu’elle passe au début ou à la fin de l’unité de après l’effondrement, compte comme une unité .

Cette méthode retourne le nombre d’unités de réellement déplacées. Cette méthode ne déplace jamais le point d’insertion au-delà de l’histoire de cette plage. Si nombreunitédéplacerait le point d’insertion avant le début de l’histoire, le point d’insertion est déplacé vers le début de l’histoire et le résultat est défini en conséquence. De même, si compteunités déplacerait le point d’insertion au-delà de la fin de l’histoire, il est déplacé vers la fin de l’histoire.

Count correspond au nombre de fois où vous appuyez sur Ctrl+Flèche droite.

Par exemple, si vous appuyez sur Ctrl+Flèche droite pour les sélections affichées dans les deux illustrations suivantes, vous vous retrouvez avec un point d’insertion à la position de caractère 8, car cette commande réduit les sélections à leurs extrémités (7 et 8, respectivement) et passe à la limite suivante Word.

positions de caractères pour la chaîne de texte La première sélection n’inclut pas l’espace vide à la position de caractère 7. Par conséquent, Ctrl+Flèche droite passe l’espace à la limite **Word** à la position de caractère 8. La position de fin de la plage se trouve déjà à une limite **Word** pour la deuxième sélection. Par conséquent, Ctrl+Flèche droite réduit simplement la sélection à cette limite. De même, Ctrl+Flèche gauche, qui pour ce texte agit comme « Move(Word, -1) ». Mais Ctrl+Flèche gauche réduit la deuxième sélection à la position de caractère 4, puis passe à zéro, car c’est la limite **Word** suivante dans la direction du mouvement.

L’argument de retour est défini sur le nombre d’unités que le point d’insertion est déplacé, y compris une unité pour réduire une plage non générée et la déplacer vers une unité limite. Par conséquent, si aucun mouvement et aucune réduction ne se produisent, comme lorsque la plage est un point d’insertion à la fin de l’histoire, le résultat est défini sur zéro. Cette approche est utile pour contrôler les boucles d’application qui traitent une histoire entière.

Dans les deux cas mentionnés précédemment, l’appel Move(Word, 1) définit le résultat égal à 1, car les plages ont été réduites. De même, l’appel Move(Word, -1) définit le résultat égal à – 1 pour les deux cas. La réduction, avec ou sans déplacement d’une partie d’une unité de vers une unité limite, compte comme une unité de déplacée.

La direction du mouvement fait référence au classement des caractères logiques dans le magasin de stockage de texte brut. Cette approche évite les problèmes d’ordre géométrique, comme la gauche et la droite et vers le haut et vers le bas, dans les logiciels internationaux. Ces méthodes géométriques sont toujours nécessaires dans le moteur d’édition, bien sûr, car les claviers ont des touches de direction pour appeler des mouvements géométriques.

La ITextSelection méthodes d’interface utilisateur sauvegardent sur un retour chariot/flux de ligne (CR/LF) comme s’il s’agissait d’un caractère unique, mais les méthodes ITextRange.Move comptent le retour chariot/flux de ligne (CR/LF) comme deux caractères. Il est clairement préférable d’utiliser un caractère unique comme séparateur de paragraphe, qui est représenté par CR, bien que le caractère de séparateur de paragraphe Unicode, 0x2029, soit accepté. En général, le contrôle d’édition enrichi prend en charge le retour chariot/flux de ligne (CR/LF), CR, LF, VT (onglet vertical), FF (flux de formulaire) et 0x2029. Microsoft Rich Edit 2.0 prend également en charge CR/CR/LF pour la compatibilité descendante.

Consultez également les méthodes ITextRange.MoveStart et ITextRange.MoveEnd, qui déplacent respectivement la position de début ou de fin de la plage nombreunité s.

S’applique à

Voir aussi