Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 135
Благодарности: 32

Профиль | Отправить PM | Цитировать


Creat0R
Ты наверное заметил что во время работы цикла также недоступна обработка системного события (т.е. Выход из GUI). Я думаю, единственный путь привязать функцию к основному циклу. Может кто-то считает по другому?
Код: Выделить весь код
Opt("GuiOnEventMode", 1)
#include <GUIConstants.au3>
Global $StartProgress=0, $i=0
$gui = GUICreate("Abort GUI", 420, 140, -1, -1, $WS_SIZEBOX)
$Button = GUICtrlCreateButton("Start", 180, 20, 70)
GUICtrlSetOnEvent($Button, "SetExitLoop")
GUISetOnEvent(-3, "ExitScript")
$Progress = GUICtrlCreateProgress(60, 60, 300, 15)
GUISetState(@SW_SHOW)

While 1
   Sleep(10)
If $StartProgress = 1 Then
	Button()
EndIf
WEnd

Func Button()
$i=$i+1
If $i=101 Then 
	$i=0
EndIf
GUICtrlSetData($Progress, $i)
EndFunc

Func SetExitLoop()
If $StartProgress=1 Then
	$StartProgress = 0
    GUICtrlSetData($Button, "Start")
Else
	$StartProgress = 1
	GUICtrlSetData($Button, "Abort")
EndIf
EndFunc

Func ExitScript()
    Exit
EndFunc
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:24, 05-01-2007 | #102