fortages
Новичок
- Сообщения
- 81
- Репутация
- 3
Здравствуйте.
Помогите разобраться, пожалуйста.
Есть форма (она же - главное окно $ParentWin), после выбора Параметр1 или Параметр2 по RadioBox'у - появляется определенное окно ($ChildWin), содержимое которого зависит от выбора.
Проблема в том, что после отображения этой информации, окошко $ChildWin нужно закрыть и вернуться назад в $ParentWin с возможностью работать в дальнейшем (кнопка "проверить" и т.д.)
Окно $ChildWin закрыть получается таким образом:
Но при этом все "замирает" - кнопка "проверить" и другие действия в главном окне не работают. Окно $ParentWin отображается, но работать в нем нельзя, можно разве что закрыть...
Подскажите, пожалуйста, как "передать управление" в главное окно?
Помогите разобраться, пожалуйста.
Есть форма (она же - главное окно $ParentWin), после выбора Параметр1 или Параметр2 по RadioBox'у - появляется определенное окно ($ChildWin), содержимое которого зависит от выбора.
Проблема в том, что после отображения этой информации, окошко $ChildWin нужно закрыть и вернуться назад в $ParentWin с возможностью работать в дальнейшем (кнопка "проверить" и т.д.)
Окно $ChildWin закрыть получается таким образом:
Код:
Case $ButtonExit
GUISetState(@SW_HIDE, $ChildWin)
GUISetState(@SW_SHOW, $ParentWin)
GUIDelete($ChildWin)
;WinActivate ($ParentWin)
Но при этом все "замирает" - кнопка "проверить" и другие действия в главном окне не работают. Окно $ParentWin отображается, но работать в нем нельзя, можно разве что закрыть...
Подскажите, пожалуйста, как "передать управление" в главное окно?
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;----------------------- ОКНО 1 НАЧАЛОСЬ ------------------------------------------
$ParentWin = GUICreate("Планировщик",1029, 698, 7, 0)
$Task1 = GUICtrlCreateLabel("Задание 1", 8, 16, 70, 17)
$Login1 = GUICtrlCreateLabel("Login", 8, 48, 32, 17)
$Password1 = GUICtrlCreateLabel("Password", 8, 80, 21, 17)
$Login1_Input = GUICtrlCreateInput("", 48, 48, 105, 21)
$Password1_Input = GUICtrlCreateInput("", 48, 72, 105, 21)
$Param1 = GUICtrlCreateRadio("Параметр1", 8, 112, 70, 15)
$Param2 = GUICtrlCreateRadio("Параметр2", 88, 112, 70, 15)
$GoTask1 = GUICtrlCreateButton("Выбрать", 8, 136, 65, 25, $WS_GROUP)
$CheckTask1 = GUICtrlCreateButton("Проверить", 88, 136, 65, 25, $WS_GROUP)
;----------------------- ОКНО 1 ЗАКОНЧИЛОСЬ ------------------------------------------
GUISetState(@SW_SHOW, $ParentWin)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $GoTask1
If GUICtrlRead ($Param1) = $GUI_CHECKED Then
_Func1()
ElseIf GUICtrlRead ($Param2) = $GUI_CHECKED Then
_Func2()
EndIf
Case $CheckTask1
MsgBox(0, "Проверка", "проверка связи")
EndSwitch
WEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; НАЧАЛО
Func _Func1()
$ChildWin=GUICreate('Test Param1')
$ButtonExit = GUICtrlCreateButton('Выход', 225, 350, 140, 30)
GUISetState()
While True
Switch GUIGetMsg()
Case -3
Exit
;Case $GUI_EVENT_CLOSE
;Exit
Case $ButtonExit
;Exit
GUISetState(@SW_HIDE, $ChildWin)
GUISetState(@SW_SHOW, $ParentWin)
GUIDelete($ChildWin)
;WinActivate ($ParentWin)
EndSwitch
WEnd
EndFunc
; КОНЕЦ
Func _Func2()
$ChildWin=GUICreate('Test Param2')
$ButtonExit = GUICtrlCreateButton('Выход', 225, 350, 140, 30)
GUISetState()
While True
Switch GUIGetMsg()
Case -3
Exit
;Case $GUI_EVENT_CLOSE
;Exit
Case $ButtonExit
;Exit
GUISetState(@SW_HIDE, $ChildWin)
GUISetState(@SW_SHOW, $ParentWin)
GUIDelete($ChildWin)
;WinActivate ($ParentWin)
EndSwitch
WEnd
EndFunc
; КОНЕЦ