Freigeben über


ITextRangeProvider::Move-Methode (uiautomationcore.h)

Verschiebt den Textbereich um die angegebene Anzahl von Texteinheiten vorwärts oder rückwärts.

Syntax

HRESULT Move(
  [in]          TextUnit unit,
  [in]          int      count,
  [out, retval] int      *pRetVal
);

Parameter

[in] unit

Typ: TextUnit-

Der Typ der Texteinheiten, z. B. Zeichen, Wort, Absatz usw.

[in] count

Typ: int

Die Anzahl der zu verschiebenden Texteinheiten. Ein positiver Wert verschiebt den Textbereich vorwärts.

Ein negativer Wert verschiebt den Textbereich rückwärts. Null hat keine Auswirkung.

[out, retval] pRetVal

Typ: int*

Die Anzahl der tatsächlich verschobenen Texteinheiten. Dies kann kleiner als die angeforderte Zahl sein, wenn einer der neuen Textbereichsendpunkte größer oder kleiner als die Endpunkte ist, die vom ITextProvider::D ocumentRange Methode abgerufen wurden. Dieser Wert kann negativ sein, wenn die Navigation in die Rückwärtsrichtung erfolgt.

Rückgabewert

Typ: HRESULT-

Wenn diese Methode erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben.

Bemerkungen

ITextRangeProvider::Move sollte nur den Textbereich verschieben, um einen anderen Teil des Texts zu umfassen, er sollte den Text nicht auf irgendeine Weise ändern.

Für einen nicht entgenerten (nicht leeren) Textbereich sollte ITextRangeProvider::Move den Textbereich normalisieren und verschieben, indem die folgenden Schritte ausgeführt werden.

  1. Reduzieren Sie den Textbereich auf einen entgenerten (leeren) Bereich am Startendpunkt.
  2. Verschieben Sie bei Bedarf den resultierenden Textbereich im Dokument nach hinten an den Anfang der angeforderten Einheitengrenze.
  3. Verschieben Sie den Textbereich im Dokument um die angeforderte Anzahl von Texteinheitsgrenzen vorwärts oder rückwärts.
  4. Erweitern Sie den Textbereich aus dem degenerierenden Zustand, indem Sie den endpunktenden Endpunkt um eine angeforderte Texteinheitsgrenze vorwärts bewegen.
Wenn eines der vorherigen Schritte fehlschlägt, sollte der Textbereich unverändert bleiben. Wenn der Textbereich nicht so weit verschoben werden kann, wie die angeforderte Anzahl von Texteinheiten, aber durch eine kleinere Anzahl von Texteinheiten verschoben werden kann, sollte der Textbereich um die kleinere Anzahl von Texteinheiten verschoben werden, und pRetVal auf die Anzahl der erfolgreich verschobenen Texteinheiten festgelegt werden sollte.

Bei einem entgenerten Textbereich sollte ITextRangeProvider::Move einfach die Texteinfügemarke um die angegebene Anzahl von Texteinheiten verschieben.

Beim Verschieben eines Textbereichs sollte der Anbieter die Grenzen aller eingebetteten Objekte im Text ignorieren.

ITextRangeProvider::Move sollte sowohl ausgeblendeten als auch sichtbaren Text berücksichtigen.

Wenn ein textbasiertes Steuerelement die durch die Einheit Parameter angegebene Texteinheit nicht unterstützt, sollte der Anbieter die nächste größere unterstützte Texteinheit ersetzen.

Die Größe der Texteinheiten, von der kleinsten einheit zum größten, lautet wie folgt.

  • Zeichen
  • Format
  • Wort
  • Linie
  • Paragraph
  • Seite
  • Dokument

Bereichsverhalten, wenn EinheitTextUnit::Format

TextUnit::Format als Einheit positioniert Wert die Grenze eines Textbereichs, um den Bereich basierend auf freigegebenen Textattributen (Format) des Texts innerhalb des Bereichs zu erweitern oder zu verschieben. Die Verwendung der Formattexteinheit sollte jedoch keinen Textbereich über die Grenzen eines eingebetteten Objekts verschieben oder erweitern, z. B. ein Bild oder einen Hyperlink. Weitere Informationen finden Sie unter Benutzeroberflächenautomatisierungs-Texteinheiten oder Text- und TextRange-Steuerelementmuster.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows XP [Desktop-Apps | UWP-Apps]
mindestens unterstützte Server- Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform- Fenster
Header- uiautomationcore.h (include UIAutomation.h)

Siehe auch

Konzeptionelle

ITextProvider-

ITextRangeProvider-

Referenz-

Text- und TextRange-Steuerelementmuster

Übersicht über Benutzeroberflächenautomatisierungs-Anbieter