ControlGetFocus

Ermittelt, welches Steuerelement im Zielfenster den Eingabefokus hat, sofern vorhanden.

ControlGetFocus, AusgabeVar , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Parameter

AusgabeVar

Name der Ausgabevariable, in der die ClassNN-Bezeichnung des Steuerelements gespeichert werden soll (ClassNN ist der Klassenname des Steuerelements, gefolgt von der Reihenfolgenummer innerhalb des übergeordneten Fensters, z.B. Button12).

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Wenn jeder dieser Parameter leer ist oder weggelassen wird, wird das Zuletzt Gefundene Fenster verwendet. Andernfalls geben Sie für FensterTitel einen Fenstertitel oder andere Kriterien zur Identifizierung des Zielfensters und/oder für FensterText eine Teilzeichenkette aus einem Textelement des Zielfensters an (Textelemente können mit dem internen Tool "Window Spy" in Erfahrung gebracht werden).

AusnahmeTitel und AusnahmeText können verwendet werden, um ein oder mehrere Fenster anhand ihres Titels oder Textes auszuschließen. Ihre Angabe ähnelt der von FensterTitel und FensterText, außer dass AusnahmeTitel keine anderen Kriterien als den Fenstertitel erkennt.

Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. Standardmäßig werden versteckte Fenster nicht erkannt und versteckte Textelemente erkannt, was mit DetectHiddenWindows und DetectHiddenText geändert werden kann. Standardmäßig muss ein Fenstertitel mit dem angegebenen FensterTitel oder AusnahmeTitel beginnen, um eine Übereinstimmung zu sein, was mit SetTitleMatchMode geändert werden kann.

Fehlerbehandlung

[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.

ErrorLevel wird auf 0 gesetzt, wenn das Steuerelement mit dem Eingabefokus erfolgreich abgerufen werden konnte. Andernfalls (z.B. wenn das Fenster nicht existiert oder keines der darin enthaltenen Steuerelemente den Eingabefokus hat) wird ErrorLevel auf 1 gesetzt.

Bemerkungen

Das mit diesem Befehl abgerufene Steuerelement hat den Tastaturfokus, d.h. das Steuerelement ist das Ziel aller Tastendrücke des Benutzers.

Das Zielfenster muss aktiv sein, um ein fokussiertes Steuerelement zu haben. Wenn das Zielfenster nicht aktiv ist, wird AusgabeVar leer gemacht.

Vor [v1.1.19.03] war es so, dass wenn ControlGetFocus mehrmals schnell ausgeführt wurde (also alle 500 ms oder schneller), der Benutzer keinen Doppelklick machen konnte. Dieses Problem wurde behoben.

ControlFocus, ControlMove, ControlClick, ControlGetText, ControlSetText, ControlSend

Beispiele

Meldet die ClassNN-Bezeichnung des Steuerelements, das den Eingabefokus in Notepad hat.

ControlGetFocus, AusgabeVar, Unbenannt - Editor
if ErrorLevel
    MsgBox, Das Zielfenster existiert nicht oder hat keine Steuerelemente mit Eingabefokus.
else
    MsgBox, Steuerelement mit Fokus = %AusgabeVar%