ITextRangeProvider::Move-Methode (uiautomationcore.h)
Verschiebt den Textbereich um die angegebene Anzahl von Texteinheiten vorwärts oder rückwärts.
Syntax
HRESULT Move(
TextUnit unit,
[in] int count,
[out, retval] int *pRetVal
);
Parameter
unit
[in] count
Typ: int
Die Anzahl von Texteinheiten, um die der Textbereich verschoben werden soll. Ein positiver Wert verschiebt den Textbereich nach vorne.
Ein negativer Wert verschiebt den Textbereich nach hinten. 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 von der ITextProvider::D ocumentRange-Methode abgerufenen Endpunkte ist. Dieser Wert kann negativ sein, wenn die Navigation in rückwärts gerichteter Richtung erfolgt.
Rückgabewert
Typ: HRESULT
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
ITextRangeProvider::Move sollte nur den Textbereich verschieben, um einen anderen Teil des Texts zu umfassen. Es sollte den Text in keiner Weise ändern.
Für einen nicht entarteten (nicht leeren) Textbereich sollte ITextRangeProvider::Move den Textbereich normalisieren und verschieben, indem die folgenden Schritte ausgeführt werden.
- Reduzieren Sie den Textbereich auf einen entarteten (leeren) Bereich am Startendpunkt.
- Verschieben Sie den resultierenden Textbereich im Dokument bei Bedarf nach hinten an den Anfang der angeforderten Einheitsgrenze.
- Verschieben Sie den Textbereich im Dokument um die angeforderte Anzahl von Texteinheitengrenzen vorwärts oder rückwärts.
- Erweitern Sie den Textbereich aus dem entarteten Zustand, indem Sie den Endendpunkt um eine angeforderte Texteinheitsgrenze nach vorne verschieben.
Bei einem entarteten Textbereich sollte ITextRangeProvider::Move einfach die Texteinfügemarke um die angegebene Anzahl von Texteinheiten verschieben.
Beim Verschieben eines Textbereichs sollte der Anbieter die Grenzen von eingebetteten Objekten im Text ignorieren.
ITextRangeProvider::Move sollte sowohl ausgeblendeten als auch sichtbaren Text berücksichtigen.
Wenn ein textbasiertes Steuerelement die durch den Unit-Parameter angegebene Texteinheit nicht unterstützt, sollte der Anbieter die nächst größere unterstützte Texteinheit ersetzen.
Die Größe der Texteinheiten, von der kleinsten Einheit bis zur größten, ist wie folgt.
- Zeichen
- Format
- Word
- Linie
- Paragraph
- Page
- Dokument
Bereichsverhalten bei EinheitTextUnit::Format
TextUnit::Format
als Einheitswert positioniert 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 Grenze eines eingebetteten Objekts verschieben oder erweitern, z. B. ein Bild oder link. Weitere Informationen finden Sie unter Benutzeroberflächenautomatisierung Texteinheiten oder Text- und TextRange-Steuerelementmuster.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | uiautomationcore.h (include UIAutomation.h) |
Siehe auch
Konzept
Referenz
Text- und TextRange-Steuerelementmuster
Übersicht über die Benutzeroberflächenautomatisierungs-Anbieter
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für