1 | #Include <GUIConstantsEx.au3> |
---|
2 | #Include <TreeViewConstants.au3> |
---|
3 | #Include <WindowsConstants.au3> |
---|
4 | #Include <StructureConstants.au3> |
---|
5 | |
---|
6 | Opt("GUICloseOnESC", 0) |
---|
7 | Opt("GUIOnEventMode", 1) |
---|
8 | |
---|
9 | ; MAIN GUI --------------------------------------------------------------------- |
---|
10 | Global $GUIMain_iWidth = 300 |
---|
11 | Global $GUIMain_iHeight = 200 |
---|
12 | |
---|
13 | Global $GUIMain = GUICreate(@AutoItVersion, $GUIMain_iWidth, $GUIMain_iHeight) |
---|
14 | GUISetOnEvent($GUI_EVENT_CLOSE, "mainExit", $GUIMain) |
---|
15 | GUISetState(@SW_SHOW, $GUIMain) |
---|
16 | |
---|
17 | Global $GUIMain_TreeView = GUICtrlCreateTreeView(5, 5, $GUIMain_iWidth - 10, $GUIMain_iHeight - 10, $TVS_HASBUTTONS + $TVS_HASLINES + $TVS_LINESATROOT + $TVS_DISABLEDRAGDROP + $TVS_SHOWSELALWAYS + $TVS_NONEVENHEIGHT, $WS_EX_CLIENTEDGE) |
---|
18 | Global $GUIMain_TreeView_hWnd = GUICtrlGetHandle($GUIMain_TreeView) |
---|
19 | GUICtrlCreateTreeViewItem("SUBKEY", GUICtrlCreateTreeViewItem("ROOT", $GUIMain_TreeView)) |
---|
20 | |
---|
21 | ; CHILD GUI -------------------------------------------------------------------- |
---|
22 | Global $GUIChild_iWidth = 150 |
---|
23 | Global $GUIChild_iHeight = 75 |
---|
24 | |
---|
25 | Global $GUIChild = GUICreate("Child", $GUIChild_iWidth, $GUIChild_iHeight, Default, Default, $WS_OVERLAPPEDWINDOW, Default, $GUIMain) |
---|
26 | GUISetOnEvent($GUI_EVENT_CLOSE, "childHide", $GUIChild) |
---|
27 | |
---|
28 | ; EVENT FUNCTIONS -------------------------------------------------------------- |
---|
29 | Func childHide() |
---|
30 | GUISetState(@SW_HIDE, $GUIChild) |
---|
31 | EndFunc |
---|
32 | |
---|
33 | Func childShow() |
---|
34 | WinMove($GUIChild, "", Default, Default) |
---|
35 | GUISetState(@SW_SHOW, $GUIChild) |
---|
36 | EndFunc |
---|
37 | |
---|
38 | Func mainExit() |
---|
39 | Exit |
---|
40 | EndFunc |
---|
41 | |
---|
42 | ; WM_NOTIFY HANDLER ------------------------------------------------------------ |
---|
43 | GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") |
---|
44 | |
---|
45 | Func WM_NOTIFY($hWnd, $Msg, $wParam, $lParam) |
---|
46 | Local $tNMHDR = DllStructCreate($tagNMHDR, $lParam) |
---|
47 | |
---|
48 | Switch DllStructGetData($tNMHDR, "hWndFrom") |
---|
49 | Case $GUIMain_TreeView_hWnd |
---|
50 | Switch DllStructGetData($tNMHDR, "Code") |
---|
51 | Case $NM_DBLCLK |
---|
52 | Return 1 + childShow() |
---|
53 | EndSwitch |
---|
54 | EndSwitch |
---|
55 | |
---|
56 | Return $GUI_RUNDEFMSG |
---|
57 | EndFunc |
---|
58 | |
---|
59 | ; WM_GETMINMAXINFO HANDLER ----------------------------------------------------- |
---|
60 | GUIRegisterMsg($WM_GETMINMAXINFO, "WM_GETMINMAXINFO") |
---|
61 | |
---|
62 | Func WM_GETMINMAXINFO($hWnd, $vMsg, $wParam, $lParam) |
---|
63 | Return $GUI_RUNDEFMSG |
---|
64 | EndFunc |
---|
65 | |
---|
66 | ; MAIN LOOP -------------------------------------------------------------------- |
---|
67 | While 1 |
---|
68 | Sleep(1000) |
---|
69 | WEnd |
---|