C'est en effet ailleurs qu'il faut mettre le corps du code, les fonctions de gestion d'events doivent rester simplissimes :
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
Opt("GuiOnEventMode", 1)
Global $stop = 1, $cnt = 0
Local $gui = GUICreate("My GUI")
Local $label = GUICtrlCreateLabel("", 10, 30, 50, 20)
GuiCtrlSetData($label, $cnt)
Local $btn1 = GUICtrlCreateButton("Count", 70, 50, 50, 20)
GUICtrlSetOnEvent($btn1, _count)
Local $btn2 = GUICtrlCreateButton("Stop", 10, 50, 50, 20)
GUICtrlSetState ($btn2, $GUI_DISABLE)
GUICtrlSetOnEvent($btn2, _stop)
Local $btn3 = GUICtrlCreateButton("Restart", 130, 50, 50, 20)
GUICtrlSetState ($btn3, $GUI_DISABLE)
GUICtrlSetOnEvent($btn3, _restart)
GUISetOnEvent($GUI_EVENT_CLOSE, __exit)
GUISetState()
While 1
sleep(10)
While Not $stop
$cnt += 1
GuiCtrlSetData($label, $cnt)
Sleep(300)
WEnd
WEnd
Func _count()
$stop = 0
GUICtrlSetState ($btn1, $GUI_DISABLE)
GUICtrlSetState ($btn2, $GUI_ENABLE)
GUICtrlSetState ($btn3, $GUI_ENABLE)
EndFunc
Func _stop()
$stop = 1
GUICtrlSetState ($btn1, $GUI_ENABLE)
GUICtrlSetState ($btn2, $GUI_DISABLE)
Msgbox(0,"", "stopped")
EndFunc
Func _restart()
$cnt = 0
GuiCtrlSetData($label, $cnt)
EndFunc
Func __exit()
Exit
EndFunc
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.