Funktionreferenz


_WinAPI_SetParent

Beschreibung anzeigen in

Ändert das Parent-Fenster des angegebenen Child-Fensters

#include <WinAPISysWin.au3>
_WinAPI_SetParent ( $hWndChild, $hWndParent )

Parameter

$hWndChild Fensterhandle des Child-Fensters
$hWndParent Handle des neuen Parent-Fensters. Falls 0, ist das Desktop-Fenster das neue Parent-Fenster.

Rückgabewert

Erfolg: Ein Handle zum vorherigen übergeordneten Fenster
Fehler: 0. Es ist _WinAPI_GetLastError() aufzurufen um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Eine Anwendung kann die SetParent Funktion nutzen um das Parent-Fenster für Popup, Overlapped oder Child-
Fenster zu ändern oder zu setzen. Das neue Parent-Fenster und das Child-Fenster müssen zur gleichen Anwendung gehören.

Siehe auch

Suche nach SetParent in der MSDN Bibliothek.

Beispiel

Beispiel 1

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

Local $hParent = WinGetHandle('[CLASS:Progman;TITLE:Program Manager]')

Local $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 400, 400, 100, 100, -1, $WS_EX_TOOLWINDOW)

; Fenster auf dem Desktop anbringen (immer unten)
_WinAPI_SetParent($hForm, $hParent)

GUISetState(@SW_SHOWNOACTIVATE)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE

Beispiel 2

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

$hGui = GUICreate("_WinAPI_SetParent", 320, 240, Default, Default, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_CLIPCHILDREN))
GUISetState(@SW_SHOW, $hGui)

$hPid = Run(@SystemDir & '\notepad.exe', "", @SW_HIDE)
WinWait("[CLASS:Notepad]")
$hChild = WinGetHandle("[CLASS:Notepad]")

_WinAPI_SetParent($hChild, $hGui)
_WinAPI_SetWindowLong($hChild, $GWL_STYLE, BitOR($WS_CAPTION, $WS_POPUP))

WinSetState($hChild, "", @SW_SHOW)

While GUIGetMsg() <> -3
    Sleep(1)
WEnd