PDA

Показать полную графическую версию : Не работает GUI после выхода другова GUI


sashadeg
15-05-2009, 18:56
Тут типа идёт подтверждение для выхода из программы.

Нажал "выход" - вылазит GUI с подтверждением.
Нажимаешь "да" - выходит.
Нажимаешь "нет" - не выходит, но кнопка "выход" перестаёт работать...



#include <WindowsConstants.au3>
#include <GUIConstants.au3>
$GUI1=GUICreate("Bot-Info", 150,200,-1, -1, BitOR($WS_CAPTION, $WS_SYSMENU), -1)
$Buttonexit = GUICtrlCreateButton("Выход", 2, 150, 131, 30)
GUISetState(@SW_SHOW, $GUI1)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
WinSetState("Bot-Info","",@SW_MINIMIZE)
Case $Buttonexit
$GUI_EXIT=GUICreate("CloseBot", 150,100,50, 50, BitOR($WS_CAPTION, $WS_SYSMENU), -1)
GUICtrlCreateLabel("точно выйти???", 3,3,300,15)
$Butexit = GUICtrlCreateButton("Да",2, 50, 50, 15)
$Butexit1 = GUICtrlCreateButton("Нет",100, 50, 50, 15)
GUISetState(@SW_SHOW, $GUI_EXIT)
While 1
Switch GUIGetMsg()
Case $Butexit
exit
case $Butexit1
GUIDelete($GUI_EXIT)
EndSwitch
WEnd
Exitloop
EndSwitch
WEnd



P.S. Наверно уже задолбал тут всех :/

sashadeg
15-05-2009, 19:13
Вроде нужно Exitloop убрать, но без него не робит

Yashied
15-05-2009, 19:15
Я бы сделал так:

#include <WindowsConstants.au3>
#include <GUIConstants.au3>
$GUI1 = GUICreate("Bot-Info", 150, 200, -1, -1, BitOR($WS_CAPTION, $WS_SYSMENU))
$Buttonexit = GUICtrlCreateButton("Выход", 2, 150, 131, 30)
GUISetState(@SW_SHOW, $GUI1)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
WinSetState("Bot-Info", "", @SW_MINIMIZE)
Case $Buttonexit
GUISetState(@SW_DISABLE, $GUI1)
$GUI_EXIT = GUICreate("CloseBot", 150, 100, 50, 50, BitOR($WS_CAPTION, $WS_SYSMENU), -1, $GUI1)
GUICtrlCreateLabel("точно выйти???", 3, 3, 300, 15)
$Butexit = GUICtrlCreateButton("Да", 2, 50, 50, 15)
$Butexit1 = GUICtrlCreateButton("Нет", 100, 50, 50, 15)
GUISetState(@SW_SHOW, $GUI_EXIT)
While 1
Switch GUIGetMsg()
Case $Butexit
Exit
Case $Butexit1
DllCall('user32.dll', 'hwnd', 'SetActiveWindow', 'hwnd', $GUI1)
GUIDelete($GUI_EXIT)
GUISetState(@SW_ENABLE, $GUI1)
ExitLoop
EndSwitch
WEnd
EndSwitch
WEnd

sashadeg
15-05-2009, 22:03
Вот чёрт.... Я сразу и не заметил... Мне же нужно чтобы программа не ждала ничего, а продолжада работу далее после WEND
А она ждёт когда я по кнопкам потыкаюсь... как можно это осуществить?




© OSzone.net 2001-2012