Freigeben über


ITextRangeProvider.Move(TextUnit, Int32) Methode

Definition

Verschiebt den Textbereich um die festgelegte Anzahl von Texteinheiten.

public:
 int Move(System::Windows::Automation::Text::TextUnit unit, int count);
public int Move (System.Windows.Automation.Text.TextUnit unit, int count);
abstract member Move : System.Windows.Automation.Text.TextUnit * int -> int
Public Function Move (unit As TextUnit, count As Integer) As Integer

Parameter

unit
TextUnit

Die Grenze der Texteinheit.

count
Int32

Die Anzahl von Texteinheiten, um die der Textbereich verschoben werden soll.

Bei einem positiven Wert wird der Textbereich vorwärts verschoben, bei einem negativen Wert wird der Textbereich rückwärts verschoben. Der Wert 0 (null) hat keine Auswirkungen.

Gibt zurück

Die Anzahl von Einheiten, um die der Textbereich tatsächlich verschoben wurde. Diese kann unterhalb der angeforderten Anzahl liegen, wenn einer der neuen Textbereichsendpunkte größer oder kleiner als der jeweilige DocumentRange-Endpunkt ist.

Hinweise

Wenn der Inhalt eines Textbereichs durchlaufen werden muss, ist eine Reihe von Hintergrundschritten erforderlich, um die Move -Methode erfolgreich auszuführen.

  1. Der Textbereich ist normalisiert. Dies bedeutet, dass dieser auf einen degenerierten Bereich am Start -Endpunkt reduziert ist, wodurch der End -Endpunkt überflüssig wird. Dieser Schritt ist erforderlich, um Mehrdeutigkeiten in Situationen zu entfernen, in denen ein Textbereich Grenzen überschreitet unit , z. B. "{The U}RL https://www.microsoft.com/ is embedded in text", wobei "{" und "}" die Textbereichsendpunkte sind.

  2. Der resultierende Bereich wird im DocumentRange zurück an den Anfang der angeforderten unit -Grenze verschoben.

  3. Der Bereich wird um die angeforderte Anzahl von DocumentRange -Grenzen nach vorne oder nach hinten im unit verschoben.

  4. Anschließend wird der Bereich von einem degenerierten Bereichszustand erweitert, indem der End -Endpunkt um eine angeforderte unit -Grenze verschoben wird.

Bereichsanpassungen durch Move & ExpandToEnclosingUnit
Beispiele für die Anpassung eines Textbereichs für Move() und ExpandToEnclosingUnit()

Der Textinhalt (oder innere Text) eines Textcontainers und ein eingebettetes Objekt, z. B. ein Link oder eine Tabellenzelle, werden in der Steuerelementansicht und der Inhaltsansicht der Struktur für die Benutzeroberflächenautomatisierung als einzelner, kontinuierlicher Textstream verfügbar gemacht. Objektgrenzen werden dabei ignoriert.

Textbereiche, die von eingebetteten Objekten überspannt werden.
Beispiel für einen Textstream mit eingebetteten Objekten und deren Bereichsabschnitten

Move berücksichtigt sowohl ausgeblendeten als auch sichtbaren Text.

Move wird auf die nächstgrößer TextUnit unterstützte zurückverzögert, wenn die angegebene TextUnit vom -Steuerelement nicht unterstützt wird.

Die Reihenfolge, von der kleinsten Einheit bis zur größten, ist unten aufgeführt.

Der Text wird in keiner Weise geändert, der Textbereich erstreckt sich nur über einen anderen Teil des Texts.

Gilt für: