Freigeben über


ITextRange.Move(TextRangeUnit, Int32) Methode

Definition

Verschiebt die Einfügemarke um die angegebene Anzahl von Einheitenvorwärts oder rückwärts. Wenn der Textbereich nicht generiert wird, wird er an der Anfangs- oder Endposition des Textbereichs auf eine Einfügemarke reduziert, je nach Anzahlund dann verschoben.

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

Parameter

unit
TextRangeUnit

Die Einheiten zum Verschieben der Einfügemarke. Der Standardwert ist Character.

count
Int32

int

Die Anzahl der Einheiten, um die Einfügemarke zu verschieben. Der Standardwert ist 1. Wenn Anzahl größer als 0 ist, bewegt sich die Einfügemarke nach vorne und zum Ende des Artikels. Wenn anzahl kleiner als 0 ist, bewegt sich die Einfügemarke rückwärts zum Anfang des Artikels. Wenn Anzahl null ist, ist der Bereich unverändert.

Gibt zurück

Int32

int

Die tatsächliche Anzahl der Einheiten die Einfügemarke verschoben wird. Weitere Informationen finden Sie im Abschnitt "Hinweise".

Hinweise

Wenn der Bereich degeneriert ist (eine Einfügemarke), versucht diese Methode, die Einfügemarke die Anzahl der einheiten zu verschieben, die durch Anzahlangegeben wird.

Wenn der Bereich nicht generiert ist und Anzahl größer als 0 ist, reduziert diese Methode den Bereich auf eine Einfügemarke am Ende des Bereichs, verschiebt die resultierende Einfügemarke an eine Einheit Grenze (wenn sie noch nicht vorhanden ist), und versucht dann, Anzahl – 1 EinheitVorwärts zu verschieben. Wenn der Bereich nicht generiert ist und Anzahl kleiner als 0 ist, reduziert diese Methode den Bereich an eine Einfügemarke am Anfang des Bereichs, verschiebt die resultierende Einfügemarke nach hinten zu einer Einheit Grenze (wenn sie nicht bereits an einem wert ist), und versucht dann, Anzahl – 1 EinheitZurück zu verschieben. Daher zählt in beiden Fällen das Reduzieren eines nicht generierten Bereichs auf eine Einfügemarke, unabhängig davon, ob der Wechsel zum Anfang oder Ende der Einheit nach dem Reduzieren erfolgt, als Einheit.

Diese Methode gibt die Anzahl der tatsächlich verschobenenEinheit zurück. Diese Methode verschiebt die Einfügemarke niemals über den Textabschnitt dieses Bereichs. Wenn AnzahlEinheits die Einfügemarke vor dem Anfang des Artikels verschieben würde, wird die Einfügemarke an den Anfang des Artikels verschoben, und das Ergebnis wird entsprechend festgelegt. Wenn anzahlEinheits die Einfügemarke über das Ende des Artikels hinaus verschieben würde, wird sie an das Ende des Artikels verschoben.

Anzahl entspricht der Häufigkeit, mit der Sie STRG+NACH-RECHTS drücken.

Wenn Sie z. B. STRG+NACH-RECHTS für die in beiden folgenden Abbildungen angezeigten Markierungen drücken, haben Sie eine Einfügemarke an Zeichenposition 8, da dieser Befehl die Markierungen an ihren Enden (7 bzw. 8) reduziert und zur nächsten Word- Grenze wechselt.

Zeichenpositionen für Textzeichenfolgen Die erste Auswahl enthält nicht das Leerzeichen an Zeichenposition 7, sodass STRG+NACH-RECHTS-TASTE an die Grenze **Word** an Zeichenposition 8 hinaus verschoben wird. Die Endposition des Bereichs befindet sich bereits an einer **Word**-Grenze für die zweite Markierung, sodass STRG+NACH-RECHTS die Markierung an dieser Grenze einfach reduziert. Entsprechend verhält sich STRG+NACH-LINKS-TASTE wie "Move(Word, -1)". Strg+NACH-LINKS-TASTE reduziert jedoch die zweite Auswahl an Zeichenposition 4 und wird dann zu Null verschoben, da dies die nächste **Word**-Grenze in Richtung bewegung ist.

Das Rückgabeargument wird auf die Anzahl der Einheits festgelegt, die die Einfügemarke verschoben wird, einschließlich einer Einheit zum Reduzieren eines nicht generierten Bereichs und verschieben sie zu einer Einheit Grenze. Wenn also keine Bewegung und kein Collapse auftreten, wird das Ergebnis so festgelegt, dass das Ergebnis gleich 0 ist, wenn der Bereich eine Einfügemarke am Ende des Textabschnitts ist. Dieser Ansatz ist nützlich, um App-Schleifen zu steuern, die eine ganze Geschichte verarbeiten.

In beiden oben erwähnten Fällen legt das Aufrufen Move(Word, 1) das Ergebnis auf 1 fest, da die Bereiche reduziert wurden. Ebenso legt das Aufrufen Move(Word, -1) das Ergebnis für beide Fälle auf – 1 fest. Das Reduzieren eines teils einer Einheit, die auf eine Einheit Grenze, wird als Einheit verschoben.

Die Richtung der Bewegung bezieht sich auf die logische Zeichenfolge im Nur-Text-Sicherungsspeicher. Dieser Ansatz vermeidet die Probleme der geometrischen Anordnung, z. B. links im Vergleich zu rechts und nach unten, in internationaler Software. Solche geometrischen Methoden sind natürlich noch im Bearbeitungsmodul erforderlich, da Tastaturen Pfeiltasten haben, um geometrische Bewegungen aufzurufen.

Die ITextSelection- UI-Methoden sichern sich über einen Wagenrücklauf/Zeilenvorschub (CR/LF), als wäre es ein einzelnes Zeichen, aber die ITextRange.Move-Methoden zählen Wagenrücklauf-/Zeilenvorschub (CR/LF) als zwei Zeichen. Es ist deutlich besser, ein einzelnes Zeichen als Absatztrennzeichen zu verwenden, das durch CR dargestellt wird, obwohl das Unicode-Absatztrennzeichen, 0x2029, akzeptiert wird. Im Allgemeinen unterstützt das Rich-Edit-Steuerelement Wagenrücklauf-/Linienvorschub (CR/LF), CR, LF, VT (vertikale Registerkarte), FF (Formularzufuhr) und 0x2029. Microsoft Rich Edit 2.0 unterstützt auch CR/CR/LF zur Abwärtskompatibilität.

Siehe auch die methoden ITextRange.MoveStart und ITextRange.MoveEnd, die die Anfangs- oder Endposition des Bereichs verschieben anzahlEinheit s.

Gilt für:

Weitere Informationen