Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Проблема с закрытием GUI и продолжением работы программы (http://forum.oszone.net/showthread.php?t=142648)

sashadeg 14-06-2009 16:28 1142990

Проблема с закрытием GUI и продолжением работы программы
 
Подскажите пожалуйста чем заменить
Код:

While 1
Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
        Exit
EndSwitch
WEnd

чтобы после появления GUI программы выполнялась далеше и само GUI можно было закрыть без проблем в любое время...

Вот на этом примере плиз...
Код:

#include <WindowsConstants.au3>
#include <GUIConstants.au3>
$GUI1=GUICreate("Info",  145,70,-1, -1, BitOR($WS_CAPTION, $WS_SYSMENU), -1)
GUICtrlCreateLabel("Парам",      2,5,200,15)
GUICtrlCreateLabel("Бурум",      2,20,200,15)
GUICtrlCreateLabel("Тарам",      2,35,200,15)
GUISetState(@SW_SHOW, $GUI1)
While 1
Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
        Exit
EndSwitch
WEnd
; А дальше программа не идет
MsgBox(1, "", "Продолжение программы...")


beve 14-06-2009 19:56 1143130

Если тебе цикл While...Wend не нужен, то можеш сделать вот так:
Код:

#include <WindowsConstants.au3>
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)

$GUI1=GUICreate("Info"145,70,-1, -1, BitOR($WS_CAPTION, $WS_SYSMENU), -1)
GUISetOnEvent($GUI_EVENT_CLOSE,"Close")
GUICtrlCreateLabel("Парам",      2,5,200,15)
GUICtrlCreateLabel("Бурум",      2,20,200,15)
GUICtrlCreateLabel("Тарам",      2,35,200,15)
GUISetState(@SW_SHOW, $GUI1)

Func
Close()
GUISetState(@SW_HIDE, $GUI1); это чтобы скрыть окно Gui
EndFunc

; А дальше программа (не идет) уже идет...
Sleep
(5000)
MsgBox(0, "", "Продолжение программы...",1)
Sleep(1000)
MsgBox(0, "", "Продолжение программы...",1)
Sleep(1000)
MsgBox(0, "", "Продолжение программы...",1)
Exit


sashadeg 14-06-2009 21:00 1143153

Ну что поделаешь? как всегда beve на высоте... РеспеХт и УважуХа !

Creat0R 14-06-2009 23:54 1143292

sashadeg, А вам бы уже пора привыкнуть к тому, что на форуме принято отмечать свои темы решёнными (если они являются таковыми).


Время: 14:28.

Время: 14:28.
© OSzone.net 2001-