Funktionreferenz


WinMove

Beschreibung anzeigen in

Verschiebt oder und ändert die Größe eines Fensters.

WinMove ( "title", "text", x, y [, width [, height [, speed]]] )

Parameter

title Der Titel / das Handle / die Klasse des zu verändernden Fensters. Siehe Erweiterte Fenstertiteldefinition.
text Der Text des zu verändernden Fensters.
x X-Koordinate, an die bewegt werden soll.
y Y-Koordinate, an die bewegt werden soll.
width [optional] Neue Fensterbreite.
height [optional] Neue Fensterhöhe.
speed [optional] Die Geschwindigkeit, mit welcher die Fensteranpassungen vorgenommen werden sollen, von 1 (schnell) bis 100 (langsam). Wenn dieser Parameter nicht angegeben wird, werden die Änderungen ohne Verzögerung vorgenommen.

Rückgabewert

Erfolg: ein Handle des Fensters
Fehler: 0 wenn das Fenster nicht gefunden werden konnte

Bemerkungen

WinMove() arbeitet zwar nicht mit minimierten, wohl aber mit versteckten Fenstern.
Werden die Breite sehr groß oder die Höhe sehr klein (oder negativ) angegeben, kann das Fenster nicht kleiner als 112 x 27 Pixel werden. Ist die Breite und Höhe sehr groß angegeben, kann das Fenster nicht größer als ca. [12+@DesktopWidth] x [12+@DesktopHeight] Pixel werden.
Negative Werte sind für die X- und Y-Koordinaten erlaubt. Damit kann ein Fenster auch aus dem Bildschirm hinaus bewegt werden. Ist es nun ein Programm, welches sich an seine letzte Fensterposition erinnert, wird das Fenster am Fensterrand erscheinen, aber noch voll auf dem Bildschirm.
Falls mehrere Fenster das Kriterium erfüllen, wird das zuletzt aktive Fenster genommen.

Werden x und y mit "default" angegeben (Schlüsselwort Default) wird nur die Fenstergröße geändert.

Wenn "speed" angegeben ist, wird die Bewegung mit der neuen Größe vollzogen.

Verwandte Funktionen

WinActivate, WinClose, WinGetClientSize, WinGetPos, WinSetState

Beispiel

Example()

Func Example()
    ; Startet den Editor
    Run("notepad.exe")

    ; Wartet maximal 10 Sekunden bis das Editorfenster erscheint.
    Local $hWnd = WinWait("[CLASS:Notepad]", "", 10)

    ; Ermittelt die Position als auch die Höhe und Breite des aktiven Fensters. Dies wird verwendet wenn das Fenster wieder in die ursprüngliche Position zurückverschoben werden soll.
    Local $aPos = WinGetPos($hWnd)

    ; Verschiebt den Editor auf die X-Position von 0 und Y-Position von 0 und setzt die Höhe auf 200 und Breite auf 200.
    WinMove($hWnd, "", 0, 0, 200, 200)

    ; Wartet 2 Sekunden um neue Position des Editorfensters darzustellen.
    Sleep(2000)

    ; Verschiebt das Editorfenster zurück auf die ursprüngliche Position durch die Verwendung des von WinGetPos zurückgegebenen Arrays.
    WinMove($hWnd, "", $aPos[0], $aPos[1], $aPos[2], $aPos[3])

    ; Wartet 2 Sekunden um ursprüngliche Position des Editorfensters darzustellen.
    Sleep(2000)

    ; Schließt das Editorfenster durch die Verwendung des von WinWait zurückgegebenen Handles.
    WinClose($hWnd)
EndFunc   ;==>Example