ControlMove

Verschiebt ein Steuerelement und/oder ändert dessen Größe.

ControlMove , StrlmntID, X, Y, Breite, Höhe, FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Parameter

StrlmntID

Wenn leer oder weggelassen, wird das oberste Steuerelement des Zielfensters verwendet. Andernfalls geben Sie die ClassNN oder den Text des Steuerelements an, oder lassen Sie den Parameter leer und geben Sie ahk_id %StrlmntHwnd% im FensterTitel-Parameter an, um mit dem HWND des Steuerelements zu arbeiten. Einzelheiten finden Sie unter Steuerelementidentifikatoren.

X, Y

Wenn einer der Parameter leer ist oder weggelassen wird, bleibt die Position des Steuerelements in dieser Dimension unverändert. Andernfalls geben Sie die X- und Y-Koordinate (in Pixel) der oberen linken Ecke der neuen Position des Steuerelements an, was Ausdrücke sein können. Die Koordinaten sind relativ zur oberen linken Ecke des übergeordneten Fensters des Steuerelements und können mit ControlGetPos oder Window Spy ermittelt werden.

Breite, Höhe

Wenn einer der Parameter leer ist oder weggelassen wird, bleibt die Größe des Steuerelements in dieser Dimension unverändert. Andernfalls geben Sie die neue Breite und Höhe des Steuerelements (in Pixel) an, was Ausdrücke sein können.

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 bzw. 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 bei Misserfolg auf 1 und bei Erfolg auf 0 gesetzt.

Bemerkungen

Dieser Befehl ist für die Verwendung mit Steuerelementen in einem Nicht-GUI-Fenster vorgesehen, also einem Fenster, das nicht mit dem Gui-Befehl erstellt wurde. Er funktioniert am besten mit den gängigen oder vordefinierten Steuerelementen von Microsoft. Einige Anwendungen verwenden jedoch benutzerdefinierte oder modifizierte Steuerelemente – in diesem Fall funktioniert der Befehl möglicherweise nicht wie erwartet. Für GUI-Steuerelemente ist es in der Regel sinnvoller, GuiControl Move zu verwenden.

Um die Zuverlässigkeit zu erhöhen, erfolgt jedes Mal, nachdem dieser Befehl ausgeführt wurde, automatisch eine Verzögerung. Diese Verzögerung kann via SetControlDelay geändert werden.

ControlGetPos, WinMove, SetControlDelay, GuiControl Move, Control, ControlGet, ControlGetText, ControlSetText, ControlClick, ControlFocus, ControlSend

Beispiele

Zeigt, wie die OK-Schaltfläche eines Eingabefensters manipuliert werden kann, während das Skript auf eine Benutzereingabe wartet.

SetTimer, ControlMoveTimer
InputBox, AusgabeVar, Mein Eingabefenster
return

ControlMoveTimer:
if not WinExist("Mein Eingabefenster")
    return
; Andernfalls gilt das "zuletzt gefundene" Fenster von oben:
SetTimer, ControlMoveTimer, Off
WinActivate
ControlMove, OK, 10, , 200  ; Verschiebt die OK-Schaltfläche nach links und macht sie breiter.
return