Funktionreferenz


_WinAPI_SetWindowPos

Beschreibung anzeigen in

Ändert die Größe, Position und Z-Order eines Child-, Popup- oder Top-Level-Fensters

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

Parameter

$hWnd Handle des Fensters
$hAfter Identifiziert das Fenster, welches in die Fenster-Z-Anordnung eingefügt werden soll. Dieser Parameter muss ein Fensterhandle
oder einer der folgenden Werte sein:
    $HWND_BOTTOM - Platziert das Fenster an das Ende der Z-Anordnung
    $HWND_NOTOPMOST - Platziert das Fenster über allen oberen (topmost) Fenstern
    $HWND_TOP - Platziert das Fenster an den Anfang der Z-Anordnung
    $HWND_TOPMOST - Platziert das Fenster über allen nicht-oberen (non-topmost) Fenstern
$iX Legt die neue Position der linken Seite des Fensters fest
$iY Legt die neue Position der oberen Seite des Fensters fest
$iCX Legt die neue Breite des Fensters fest, in Pixel
$iCY Legt die neue Höhe des Fensters fest, in Pixel
$iFlags Legt die Fenstergrößen und -positionierung fest:
    $SWP_DRAWFRAME - Zeichnet einen Rahmen um das Fenster
    $SWP_FRAMECHANGED - Sendet eine $WM_NCCALCSIZE Nachricht an das Fenster, auch wenn die Fenstergröße sich nicht geändert hat
    $SWP_HIDEWINDOW - Versteckt das Fenster
    $SWP_NOACTIVATE - Das Fenster wird nicht aktiviert
    $SWP_NOCOPYBITS - Verwirft den gesamten Inhalt des Anwendungsbereichs des Fensters
    $SWP_NOMOVE - Behält die aktuelle Position des Fensters bei
    $SWP_NOOWNERZORDER - Ändert nicht die Position des Owner-Fensters in der Z-Anordnung
    $SWP_NOREDRAW - Änderungen im Fenster werden nicht neu gezeichnet
    $SWP_NOREPOSITION - Gleichbedeutend mit dem $SWP_NOOWNERZORDER Flag
    $SWP_NOSENDCHANGING - Verhindert, dass das Fenster die Nachricht $WM_WINDOWPOSCHANGING erhält
    $SWP_NOSIZE - Behält die aktuelle Größe des Fensters bei
    $SWP_NOZORDER - Behält die aktuelle Z-Anordnung bei
    $SWP_SHOWWINDOW - Zeigt das Fenster auf dem Bildschirm an

Rückgabewert

Erfolg: True
Fehler: False. Es ist _WinAPI_GetLastError() aufzurufen um erweiterte Fehlerinformationen zu erhalten

Bemerkungen

Oben stehende Konstanten benötigen #include <AutoItConstants.au3>

Siehe auch

Suche nach SetWindowPos in der MSDN Bibliothek.

Beispiel

Beispiel 1

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

Example()

Func Example()
    ; Assign a Local variable the handle of the NotePad window
    Local $hWnd = WinGetHandle("[CLASS:Notepad]")

    ; If the window does not exists, display a message and return False.
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Notepad window not found.")
        Return False
    EndIf

    ; Assign a Local variable the style of the Notepad window.
    Local $iStyle = _WinAPI_GetWindowLong($hWnd, $GWL_STYLE)

    ; Remove from the window style the MAXIMIZEBOX, MINIMIZEBOX and SIZEBOX styles.
    $iStyle = BitXOR($iStyle, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SIZEBOX)

    ; Set the style of the window.
    _WinAPI_SetWindowLong($hWnd, $GWL_STYLE, $iStyle)

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

Beispiel 2

#include <GUIConstantsEx.au3>
#include <Constants.au3>
#include <WinAPI.au3>

Opt("GUIOnEventMode", 1) ; 0=ausgeschaltet, 1=OnEvent Modus aktiviert

$gui = GUICreate("Test", 100, 200, 300, 300)
GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")

GUISetState()
Sleep(1000)

_WinAPI_SetWindowPos($gui, 0, 10, 20, 500, 500, $SWP_SHOWWINDOW)

While 1
    Sleep(10)
WEnd

Func _exit()
    Exit
EndFunc   ;==>_exit