Functions > Window >


WinMove

Déplace et/ou redimensionne une fenêtre.

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

Paramètres

title Le titre/hWnd/class de la fenêtre à déplacer/redimensionner. Consultez Définition spéciale de titre.
text Le texte de la fenêtre à déplacer/redimensionner. Consultez Définition spéciale de texte.
x Nouvelle coordonnée X du coin supérieur gauche de la fenêtre.
y Nouvelle coordonnée Y du coin supérieur gauche de la fenêtre.
width [optionnel] Nouvelle largeur de la fenêtre.
height [optionnel] Nouvelle hauteur de la fenêtre.
speed [optionnel] La vitesse de déplacement de la fenêtre comprise entre 1 (rapide) et 100 (lent). Si non défini, le déplacement est instantané.

Valeur de retour

Succès: Retourne le handle de la fenêtre.
Échec: Retourne 0 si la fenêtre n'est pas trouvée.

Remarques

WinMove() n'a pas d'effet sur les fenêtres minimisées, mais fonctionne sur les fenêtres cachées.
Si la largeur et la hauteur sont trop petites (ou négative), la fenêtre ne sera pas plus petite que 112 x 27 pixels. Si la largeur et la hauteur sont trop grandes, La fenêtre ne sera pas plus grande que [12 + @DesktopWidth] x [12 + @DesktopHeight] pixels.
Des valeurs négatives sont autorisées pour les coordonnées de x et de y. En fait, vous pouvez déplacer la fenêtre hors de la zone de l'écran; et si la fenêtre du programme est une fenêtre qui se rappelle de sa dernière position sur l'écran, la fenêtre apparaîtra dans le coin (mais entièrement à l'écran) la prochaine fois que vous lancerez le programme.
Si plusieurs fenêtres correspondent aux critères, la fenêtre active la plus récente sera utilisée.

Si x et y sont égaux au mot clé Default il n'y aura pas de déplacement, juste un redimensionnement.

Lorsque le paramètre vitesse est utilisé, le déplacement est effectué avec la nouvelle dimension.

En relation

WinActivate, WinClose, WinGetClientSize, WinGetPos, WinSetState

Exemple

Example()

Func Example()
    ; Exécute le Bloc-notes
    Run("notepad.exe")

    ; Attend 10 secondes pour que la fenêtre du bloc-notes apparaisse.
    Local $hWnd = WinWait("[CLASS:Notepad]", "", 10)

    ; Récupère la position ainsi que la hauteur et la largeur de la fenêtre du Bloc-notes.
    ; Nous les utiliserons lorsque nous redéplacerons la fenêtre à sa position initiale.
    Local $aPos = WinGetPos($hWnd)

    ; Déplace le bloc-notes à la position x, y de 0, 0 et définit la hauteur et la largeur à 200, 200.
    WinMove($hWnd, "", 0, 0, 200, 200)

    ; Attend 2 secondes pour afficher la nouvelle position de la fenêtre du Bloc-notes.
    Sleep(2000)

    ; Déplace la fenêtre du Bloc-notes de retour à sa position initiale en utilisant le tableau retourné par WinGetPos.
    WinMove($hWnd, "", $aPos[0], $aPos[1], $aPos[2], $aPos[3])

    ; Attend 2 secondes pour afficher la position initiale de la fenêtre du Bloc-notes.
    Sleep(2000)

    ; Ferme la fenêtre du Bloc-notes en utilisant le handle renvoyé par WinWait.
    WinClose($hWnd)
EndFunc   ;==>Example