ControlGetPos

Ruft die Position und Größe eines Steuerelements ab.

ControlGetPos , AusX, AusY, AusBreite, AusHöhe, Steuerelement, FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Parameter

AusX, AusY

Wenn weggelassen, wird der zugehörige Wert nicht gespeichert. Andernfalls geben Sie die Namen der Ausgabevariablen an, in denen die X- und Y-Koordinate (in Pixel) der oberen linken Ecke des Steuerelements gespeichert werden sollen. Diese Koordinaten sind relativ zur oberen linken Ecke des Zielfensters und daher identisch mit denen, die von ControlMove verwendet werden.

AusBreite, AusHöhe

Wenn weggelassen, wird der zugehörige Wert nicht gespeichert. Andernfalls geben Sie die Namen der Ausgabevariablen an, in denen die Breite und Höhe (in Pixel) des Steuerelements gespeichert werden sollen.

Steuerelement

Wenn leer oder weggelassen, wird das oberste Steuerelement des Zielfensters verwendet. Andernfalls geben Sie entweder die ClassNN-Bezeichnung (Klassenname und Instanznummer des Steuerelements) oder den Text des Steuerelements an, die beide mit dem internen Tool "Window Spy" ermittelt werden können. Wenn Text verwendet wird, ist das Übereinstimmungsverhalten abhängig von SetTitleMatchMode.

Um mit dem Fensterhandle (HWND) eines Steuerelements zu arbeiten, lassen Sie den Steuerelement-Parameter leer und übergeben Sie ahk_id %StrlmntHwnd% als FensterTitel-Parameter (funktioniert auch bei versteckten Steuerelementen, selbst wenn DetectHiddenWindows ausgeschaltet ist). Die HWND-Nummer eines Steuerelements kann üblicherweise via ControlGet Hwnd, MouseGetPos oder DllCall() abgerufen werden.

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.

Bemerkungen

Wenn kein passendes Fenster oder Steuerelement gefunden wurde, werden die Ausgabevariablen leer gemacht.

Im Gegensatz zu Befehlen, die ein Steuerelement ändern, erfolgt nach ControlGetPos keine automatische Verzögerung, d.h. SetControlDelay hat keinen Einfluss auf ControlGetPos.

Mit MouseGetPos kann die ClassNN-Bezeichnung oder HWND-Nummer (eindeutige ID) des Steuerelements unter dem Mauszeiger abgerufen werden. Mit WinGet ControlList kann eine Liste von Steuerelementen in einem Fenster abgerufen werden.

ControlMove, WinGetPos, Control, ControlGet, ControlGetText, ControlSetText, ControlClick, ControlFocus, ControlSend

Beispiele

Aktualisiert und zeigt kontinuierlich den Namen und die Position des Steuerelements, das sich gerade unter dem Mauszeiger befindet.

Loop
{
    Sleep, 100
    MouseGetPos, , , WelchesFenster, WelchesSteuerelement
    ControlGetPos, x, y, w, h, %WelchesSteuerelement%, ahk_id %WelchesFenster%
    ToolTip, %WelchesSteuerelement%`nX%X%`tY%Y%`nW%W%`t%H%
}