#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <WinAPI.au3>
Opt('GUIOnEventMode', 1)
Opt('MustDeclareVars', 1)
Global $hParentWin, $hChildWin
_Example1()
While 1
Sleep(10)
WEnd
Func _ProExit()
Exit
EndFunc
Func _CloseWin()
GUIDelete(@GUI_WinHandle)
EndFunc
Func _Example1()
MsgBox(64, 'Пример 1', 'Обычное дочерное окно')
$hParentWin = GUICreate('Родителськое окно')
GUISetOnEvent($GUI_EVENT_CLOSE, '_Example2')
$hChildWin = GUICreate('Дочерное окно', 300, 200, -1, -1, $WS_SYSMENU, -1, $hParentWin)
GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseWin')
GUISetState(@SW_SHOW, $hParentWin)
GUISetState(@SW_SHOW, $hChildWin)
EndFunc
Func _Example2()
GUIDelete($hParentWin)
GUIDelete($hChildWin)
MsgBox(64, 'Пример 2', 'Дочерное окно перемещается вместе с родительским окном')
$hParentWin = GUICreate('Родителськое окно')
GUISetOnEvent($GUI_EVENT_CLOSE, '_Example3')
$hChildWin = GUICreate('Дочерное окно', 300, 200, -1, -1, $WS_SYSMENU, $WS_EX_MDICHILD, $hParentWin)
GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseWin')
GUISetState(@SW_SHOW, $hParentWin)
GUISetState(@SW_SHOW, $hChildWin)
EndFunc
Func _Example3()
GUIDelete($hParentWin)
GUIDelete($hChildWin)
MsgBox(64, 'Пример 3', 'Дочерное окно внутри родительского окна')
$hParentWin = GUICreate('Родителськое окно')
GUICtrlCreateLabel('', -100, -100, 0, 0)
GUISetOnEvent($GUI_EVENT_CLOSE, '_ProExit')
$hChildWin = GUICreate('Дочерное окно', 300, 200, 10, 10, $WS_SYSMENU)
GUISetOnEvent($GUI_EVENT_CLOSE, '_CloseWin')
GUISetState(@SW_SHOW, $hParentWin)
_WinAPI_SetParent($hChildWin, $hParentWin)
GUISetState(@SW_SHOW, $hChildWin)
EndFunc