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.
- Reduzieren Sie den Textbereich auf einen entgenerten (leeren) Bereich am Startendpunkt.
- Verschieben Sie bei Bedarf den resultierenden Textbereich im Dokument nach hinten an den Anfang der angeforderten Einheitengrenze.
- Verschieben Sie den Textbereich im Dokument um die angeforderte Anzahl von Texteinheitsgrenzen vorwärts oder rückwärts.
- Erweitern Sie den Textbereich aus dem degenerierenden Zustand, indem Sie den endpunktenden Endpunkt um eine angeforderte Texteinheitsgrenze vorwärts bewegen.
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
Referenz-
Text- und TextRange-Steuerelementmuster
Übersicht über Benutzeroberflächenautomatisierungs-Anbieter