eleria Posted May 29, 2008 Posted May 29, 2008 (edited) Sorry, I solved the problem myself Hello, I find using more than one window and switching between them very confusing... Please take a look at my gui Once I use CTRL+L to bring the load window back, nothing on it works... the LOAD button, the CANCEL button, and even closing the gui with the system button expandcollapse popup#region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_compression=4 #endregion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <EditConstants.au3> Const $GUI_RUNDEFMSG = 'GUI_RUNDEFMSG' Const $GUI_EVENT_CLOSE = -3 Const $WM_LBUTTONDOWN = 0x201 Const $WM_PAINT = 0x000F Const $WS_POPUP = 0x80000000 Const $C_BLACK = 0xFF000000 Const $C_TEXT = 0xAAAA00 ;~ opt("mustdeclarevars", 1) GUIRegisterMsg($WM_LBUTTONDOWN, "_WinMove") HotKeySet("{Esc}", "_exit") HotKeySet("^l", "_Load") Dim $hgui $isloaded = 0 $Spawn_Map = GUICreate("Spawn Map", 1232, 727, -1, -1, $WS_POPUP, 0) GUISetBkColor($C_BLACK, $hgui) $Load = GUICreate("Load ", 128, 96, 413, 322) $In_geox = GUICtrlCreateInput("", 29, 34, 28, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_NUMBER)) GUICtrlSetLimit(-1, 2) $In_geoy = GUICtrlCreateInput("", 70, 34, 28, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_NUMBER)) GUICtrlSetLimit(-1, 2) $Buttonload = GUICtrlCreateButton("Load", 12, 61, 48, 28, 0) $ButtonCancel = GUICtrlCreateButton("Cancel", 67, 61, 48, 28, 0) $Label1 = GUICtrlCreateLabel("What region shall I load ?", 4, 5, 120, 17) $Label2 = GUICtrlCreateLabel("_", 60, 38, 7, 17) _Load() While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Buttonload If $isloaded Then ; DO STUFF GUISetState(@SW_HIDE, $Spawn_Map) EndIf ; DO STUFF GUISetState(@SW_DISABLE, $Load) GUISetState(@SW_HIDE, $Load) GUISetState(@SW_SHOW, $Spawn_Map) GUISwitch($Spawn_Map) WinActivate("Spawn Map") $isloaded = 1 ; DO STUFF ; While 1 ; DO STUFF ; WEnd Case $ButtonCancel Switch $isloaded Case 1 ; DO STUFF Case Else Exit EndSwitch EndSwitch WEnd ;########################################################################### ;# Functions # ;########################################################################### Func _WinMove($hwnd, $Command, $wParam, $lParam) If BitAND(WinGetState($hwnd), 32) Then Return $GUI_RUNDEFMSG DllCall("user32.dll", "int", "SendMessage", "hWnd", $hwnd, "int", 0x0112, "int", 0xF009, "int", 0) EndFunc ;==>_WinMove Func _WinPaint() Switch $isloaded Case 1 ; DO STUFF EndSwitch EndFunc ;==>_WinPaint Func _exit() Switch $isloaded Case 1 ; DO STUFF EndSwitch Exit EndFunc ;==>_exit Func _Load() If $isloaded Then $isloaded = 0 GUISetState(@SW_DISABLE, $Spawn_Map) EndIf GUISetState(@SW_SHOW, $Load) GUISetState(@SW_ENABLE, $Load) GUISwitch($Load) EndFunc ;==>_Load EDIT : Removed useless stuff Edited May 29, 2008 by eleria
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now