UDF > WinAPIEx > System > Windows >


_WinAPI_SetWindowPos

Modifie la taille, la position, et l'ordre Z d'une fenêtre enfant, pop-up, ou de haut niveau

#include <WinAPISysWin.au3>
_WinAPI_SetWindowPos ( $hWnd, $hAfter, $iX, $iY, $iCX, $iCY, $iFlags )

Paramètres

$hWnd Handle de la fenêtre
$hAfter Spécifie la fenêtre précédente de la fenêtre à placer dans l'ordre Z. Ce paramètre doit être un handle de fenêtre ou l'une des valeurs suivantes:
    $HWND_BOTTOM - Place la fenêtre en bas de l'ordre Z
    $HWND_NOTOPMOST - Place la fenêtre au-dessus de toutes les fenêtres qui ne sont pas de niveau supérieur
    $HWND_TOP - Place la fenêtre en haut de l'ordre Z
    $HWND_TOPMOST - Place la fenêtre au-dessus de toutes les fenêtres de niveau supérieur
$iX Indique la nouvelle position du coté gauche de la fenêtre
$iY Indique la nouvelle position du coté supérieur de la fenêtre
$iCX Indique la nouvelle largeur de la fenêtre, en pixels
$iCY Indique la nouvelle hauteur de la fenêtre, en pixels
$iFlags Spécifie les flags de dimensionnement et de positionnement de la fenêtre:
    $SWP_DRAWFRAME - Dessine un cadre autour de la fenêtre
    $SWP_FRAMECHANGED - Envoie un message $WM_NCCALCSIZE à la fenêtre, même si la taille de la fenêtre n'a pas changé
    $SWP_HIDEWINDOW - Cache la fenêtre
    $SWP_NOACTIVATE - N'a pas activé la fenêtre
    $SWP_NOCOPYBITS - Rejète tout le contenu de la zone cliente
    $SWP_NOMOVE - Conserve la position actuelle
    $SWP_NOOWNERZORDER - Ne change pas la position de la fenêtre propriétaire dans l'ordre Z
    $SWP_NOREDRAW - Ne redessine pas les changements
    $SWP_NOREPOSITION - Pareil que le flag $SWP_NOOWNERZORDER
    $SWP_NOSENDCHANGING - Empêche la fenêtre de recevoir $WM_WINDOWPOSCHANGING
    $SWP_NOSIZE - Conserve la taille actuelle
    $SWP_NOZORDER - Conserve l'ordre Z.
    $SWP_SHOWWINDOW - Affiche la fenêtre

Valeur de retour

Succès: Retourne True
Échec: Retourne False, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur.

Remarque

Les constantes ci-dessus nécessitent Constants.au3

Voir aussi

Consultez SetWindowPos dans la librairie MSDN.

Exemple

#include <MsgBoxConstants.au3>
#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>

Example()

Func Example()
    ; Affecte une variable locale avec le handle de la fenêtre du Bloc-notes
    Local $hWnd = WinGetHandle("[CLASS:Notepad]")

    ; Si la fenêtre n'existe pas, affiche un message et retourne Faux.
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Fenêtre Notepad non trouvé!")
        Return False
    EndIf

    ; Affecte une variable locale le style de la fenêtre du Bloc-notes.
    Local $iStyle = _WinAPI_GetWindowLong($hWnd, $GWL_STYLE)

    ; Retire du style de fenêtre les styles MAXIMIZEBOX, MINIMIZEBOX et SIZEBOX.
    $iStyle = BitXOR($iStyle, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SIZEBOX)

    ; Définit le style de la fenêtre.
    _WinAPI_SetWindowLong($hWnd, $GWL_STYLE, $iStyle)

    ; Applique le style
    _WinAPI_SetWindowPos($hWnd, $HWND_TOP, 0, 0, 0, 0, BitOR($SWP_FRAMECHANGED, $SWP_NOMOVE, $SWP_NOSIZE))
EndFunc   ;==>Example