Page 1 sur 1
[R] Case $GUI_EVENT_CLOSE sans effet
Posté : ven. 18 juil. 2014 15:00
par aulus
Bonjour,
A quelles conditions, l'appel à $GUI_EVENT_CLOSE pour terminer la boucle fonctionne-t-il ? Ce Case est ignoré dans ma boucle.
► Afficher le texte
Code : Tout sélectionner
...
Opt("GUIOnEventMode", 1) ; Passe en mode événement
...
$Form1 = GUICreate(...)
...
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
Case $boutonT
$choix = "T"
Case $boutonV
$choix = "V"
EndSwitch
...
affichages dans la GUI $Form1
...
Wend
GUIDelete($Form1)
Exit
Je vous remercie.
Re: [..] Case $GUI_EVENT_CLOSE sans effet
Posté : ven. 18 juil. 2014 15:41
par orax
Avec GUIOnEventMode, le fonctionnement est différent.
Donc soit, voir GUIOnEventMode dans la doc et modifier le code en fonction.
Soit, plus simple, supprimer la ligne Opt("GUIOnEventMode", 1).
Re: [..] Case $GUI_EVENT_CLOSE sans effet
Posté : ven. 18 juil. 2014 17:40
par aulus
Merci pour votre éclairage.
Je comprends pourquoi je bataille depuis des heures !
Le problème a été solutionné ainsi :
► Afficher le texte
Code : Tout sélectionner
...
Opt("GUIOnEventMode", 1) ; Passe en mode événement
...
$Form1 = GUICreate(...)
[color=#FF0000]GUISetOnEvent($GUI_EVENT_CLOSE,"Quitter")[/color]
...
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
[strike] [color=#FF0000]Case $GUI_EVENT_CLOSE[/color][/strike]
[strike][color=#FF0000] ExitLoop[/color][/strike]
Case $boutonT
$choix = "T"
Case $boutonV
$choix = "V"
EndSwitch
...
affichages dans la GUI $Form1
...
Wend
[color=#FF0000]Func Quitter()
GuiDelete($Form1)
Exit
EndFunc[/color]
La fonction ExitLoop n'était donc pas indispensable ?
Merci encore.
Re: [..] Case $GUI_EVENT_CLOSE sans effet
Posté : ven. 18 juil. 2014 19:51
par parazitenew
La commande ExitLoop ne fait que sortir le script d'une boucle, pour ta fonction t'es pas obligé de mettre un GuiDelete, la commande exit ferme le script ce qui entraine une fermeture de la fenêtre (GUI).
Re: [..] Case $GUI_EVENT_CLOSE sans effet
Posté : ven. 18 juil. 2014 20:22
par mikell
Moi ce qui me surprend c'est que les boutons fonctionnent
"OnEvent functions are only called when the option GUIOnEventMode is set to 1 - when in this mode GUIGetMsg() is NOT used at all."
Re: [..] Case $GUI_EVENT_CLOSE sans effet
Posté : ven. 18 juil. 2014 22:22
par aulus
Tout marche bien...
Merci pour vos réponses.