ControlMove


Verschiebt ein Control und/oder ändert seine Größe.

ControlMove, Control, X, Y, Width, Height [, WinTitle, WinText, ExcludeTitle, ExcludeText]

Parameter

Control

Entweder die ClassNN (Klassenname und Instanznummer) oder der Name/Text (Aufschrift/Inhalt) des Controls, wie sie mit dem "Window Spy" ermittelt werden können. Bei Angabe von Name/Text wird das Suchergebnis von der aktuellen Einstellung für SetTitleMatchMode beeinflusst. Wenn der Parameter leer gelassen wird, wird das oberste Control des Zielfensters verwendet.

Wenn mit dem HWND (window handle, ahk_id, eindeutige Identifikationsnummer) eines Controls gearbeitet werden soll, wird der Control Parameter leer gelassen und stattdessen ahk_id %ControlHwnd% als WinTitle Parameter angebeben. Das funktioniert auch für verborgene Controls, selbst wenn DetectHiddenWindows auf OFF gesetzt ist. Das HWND eines Controls kann z.B. mit ControlGet Hwnd, MouseGetPos oder DllCall ermittelt werden.

X, Y

Die X- und Y-Koordinaten der linken oberen Ecke der neuen Position von Control (in Pixeln), die auch als Ausdrücke angegeben werden können. Wenn eine der Koordinaten leer ist oder weggelassen wird, wird die Position von Control in Bezug auf diese Koordinate nicht verändert. Die Koordinaten sind relativ zur oberen linken Ecke des Fensters, das Control beinhaltet. ControlGetPos oder "Window Spy" können benutzt werden, um die aktuellen Koordinaten zu ermitteln.

Width, Height

Die neue Breite und Höhe von Control (in Pixeln), die auch als Ausdrücke angegeben werden können. Wenn einer dieser Parameter leer ist oder weggelassen wird, wird die Größe von Control in dieser Dimension nicht verändert.

WinTitle

Der vollständige Titel oder ein Teil des Titels des Zielfensters (das Suchergebnis wird von SetTitleMatchMode beeinflusst). Wenn dieser und die nächsten 3 Parameter leer gelassen werden, wird das LastFoundWindow (zuletzt gefundene Fenster) verwendet. Wenn hier der Buchstabe A angegeben wird und die nächsten 3 Parameter leer gelassen werden, wird das momentan aktive Fenster verwendet. Für eine Fensterklasse wird ahk_class ExakterKlassenName (wie vom "Window Spy" angezeigt) angegeben, für eine Prozess ID (PID) ahk_pid %VarMitInhaltPID%, für eine Fenstergruppe ahk_group GroupName und für die eindeutige ID eines Fensters ahk_id %VarMitInhaltID%. Die Suche kann durch Angabe mehrerer Kriterien eingeschränkt werden. Beispiel: My File.txt ahk_class Notepad

WinText

Wenn angegeben, muss dieser Parameter den Inhalt oder einen Teil des Inhalts eines einzelnen Textelementes des Zielfensters enthalten, wie er z.B. vom mitgelieferten "Window Spy" angezeigt wird. Verborgene Textelemente werden nur gefunden, wenn DetectHiddenText vorher auf ON gesetzt wurde.

ExcludeTitle

Fenster, deren Titel diesen Wert enthalten, werden bei der Suche übergangen.

ExcludeText

Fenster, deren Text diesen Wert enthält, werden bei der Suche übergangen.

ErrorLevel

ErrorLevel wird im Falle eines Problems auf 1 gesetzt, sonst auf 0.

Anmerkungen

Um die Zuverlässigkeit zu erhöhen, wird nach jeder Ausführung dieser Anweisung automatisch eine kurze Pause eingelegt. Die Länge dieser Pause kann mit SetControlDelay verändert werden.

Bei Fenstertiteln und -texten muss die Groß/Kleinschreibung beachtet werden. Verborgene Fenster werden nur gefunden, wenn DetectHiddenWindows vorher auf ON gesetzt wurde.

Siehe auch

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

Beispiel

SetTimer, ControlMoveTimer
InputBox, OutputVar, My Input Box
return

ControlMoveTimer:
IfWinNotExist, My Input Box
return
; Andernfalls hat die Anweisung das "LastFoundWindow" gesetzt: SetTimer, ControlMoveTimer, off WinActivate ControlMove, OK, 10, , 200 ; Verschiebt den OK Button nach links und verbreitert ihn. return