| 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
|
|---|