IUIAutomation6::AddActiveTextPositionChangedEventHandler-Methode (uiautomationclient.h)
Registriert eine Methode, die behandelt, wenn sich die aktive Textposition ändert.
Wichtig
Microsoft Benutzeroberflächenautomatisierung-Clients sollten die IUIAutomationEventHandlerGroup-Schnittstellenmethoden verwenden, um Ereignislistener anstelle einzelner Ereignisregistrierungsmethoden zu registrieren, die hier und in den verschiedenen IUIAutomation-Schnittstellennamespaces definiert sind.
Syntax
HRESULT AddActiveTextPositionChangedEventHandler(
[in] IUIAutomationElement *element,
TreeScope scope,
[in] IUIAutomationCacheRequest *cacheRequest,
[in] IUIAutomationActiveTextPositionChangedEventHandler *handler
);
Parameter
[in] element
Ein Zeiger auf das Benutzeroberflächenautomatisierung-Element, das dem Ereignishandler zugeordnet ist.
scope
[in] cacheRequest
Ein Zeiger auf eine Cacheanforderung oder NULL, wenn keine Zwischenspeicherung gewünscht ist.
[in] handler
Ein Zeiger auf das -Objekt, das das aktive Textpositionsänderungsereignis behandelt.
Rückgabewert
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.
Bemerkungen
Bevor Sie einen Ereignishandler implementieren, sollten Sie mit den Threadingproblemen vertraut sein, die unter Grundlegendes zu Threadingproblemen beschrieben werden.
Die position des aktiven Texts wird durch ein Navigationsereignis innerhalb oder zwischen schreibgeschützten Textelementen (z. B. Webbrowsern, PDF-Dokumenten oder EPUB-Dokumenten ) mithilfe von Lesezeichen (oder Fragmentbezeichnern, die auf einen Speicherort innerhalb einer Ressource verweisen) angegeben. Beispiele:
- Navigieren zu einem Lesezeichen auf derselben Webseite
- Navigieren zu einem Lesezeichen auf einer anderen Webseite
- Aktivieren eines Links zu einem anderen Speicherort innerhalb derselben PDF-Datei
- Aktivieren eines Links zu einem anderen Standort innerhalb derselben EPUB
Verwenden Sie diesen Ereignishandler, um die visuelle Position des Lesezeichens/Ziels mit der Fokusposition in einem schreibgeschützten Textelement zu synchronisieren, was bei Verwendung von Lesezeichen oder Fragmentbezeichnern abweichen kann.
Wenn beispielsweise ein derselben Seitenanker (<a href="#C4">Jump to Chapter 4</a> ...<h1><a name="C4">Chapter 4</a></h1>
) aufgerufen wird, wird der visuelle Speicherort aktualisiert, der Benutzeroberflächenautomatisierung Client bleibt jedoch am ursprünglichen Speicherort. Dies führt zu Aktionen wie Textlesen oder Verschieben von Befehlen zum nächsten Element vom ursprünglichen Speicherort, nicht vom neuen Speicherort.
Ebenso wird beim Aktivieren eines neuen Seiten-URI (mit fragmentbezeichner: (<a href="www.blah.com#C4">Jump to Chapter 4</a>
) die neue Seite geladen und zur angegebenen Lesezeichen springt, aber der Benutzeroberflächenautomatisierung Clients bleibt oben auf der Seite.
Für bearbeitbare Textelemente, z. B. Edit- und Rich Edit-Steuerelemente, können Sie auf ein SelectionChanged-Ereignis lauschen.
Es ist möglich, dass ein Ereignis an einen Ereignishandler übermittelt wird, nachdem der Handler abgekündigt wurde, wenn das Ereignis gleichzeitig mit der Anforderung zum Abbestellen des Ereignisses empfangen wird. Die bewährte Methode besteht darin, den COM-Standard (Component Object Model) zu befolgen und zu vermeiden, dass das Ereignishandlerobjekt zerstört wird, bis seine Verweisanzahl 0 erreicht hat. Das Löschen eines Ereignishandlers unmittelbar nach der Abmeldung von Ereignissen kann zu einer Zugriffsverletzung führen, wenn ein Ereignis verspätet übermittelt wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1809 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server, Version 1709 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | uiautomationclient.h (include UIAutomation.h) |
Weitere Informationen
IUIAutomation6::RemoveActiveTextPositionChangedEventHandler, IUIAutomation6-Schnittstelle
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