[..] GUISetOnEvent

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

[..] GUISetOnEvent

#1

Message par hardfloor »

Hello,
Je bloque un peu sur l'utilisation de GUISetOnEvent

En fait en cliquant sur un mot, je dois ouvrir une autre gui et et non pas une mxsbox!
J'arrive bien à l'ouvrir, mais pour la fermer sans TOUT fermer je ne trouve pas.

Pourriez-vous m'aider svp

Code : Tout sélectionner

 #include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Form1", 1166, 607, 191, 121)
$Label1 = GUICtrlCreateLabel("cliquez moi", 24, 56, 49, 17)

GUICtrlSetTip($Label1, "test", 'hello', 1, 1)
GUICtrlSetOnEvent(-1, "Calculer")

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
While 1
    Sleep(10)


WEnd

Func Calculer()
;~  MsgBox(0,"", "Ceci est un test")
$1 = GUICreate("", 500, 300, 90, 60)
GUISetState()
EndFunc



Func _Exit()
    Exit
    EndFunc
 
Si je remet GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
à la fin de la fonction calculer, evidemment cela me ferme les 2 gui !
Modifié en dernier par hardfloor le sam. 05 oct. 2013 18:12, modifié 3 fois.
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] GUISetOnEvent

#2

Message par FireFox »

Bonjour,
Ajoute un GUISetOnEvent sur la seconde GUI qui amènera dans la fonction appelée à un GUIDelete($1) et non à un Exit.

Cdlt, FireFox.
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..] GUISetOnEvent

#3

Message par hardfloor »

ok parfait , merci à toi!!
ca fonctionne :wink:
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..] GUISetOnEvent

#4

Message par hardfloor »

Et maintenant si je ne veux pas utiliser la fonction guiSetOnEvent (Je teste les 2 méthodes, ca me permet d'apprendre)
Comment puis je réaliser la même chose?

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Form1", 1166, 607, 191, 121)
$Label1 = GUICtrlCreateLabel("cliquez moi", 24, 56, 49, 17)

GUICtrlSetTip($Label1, "test", 'hello', 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Label1
            Calculer()

        EndSwitch
WEnd

Func Calculer()
;~  MsgBox(0,"", "Ceci est un test")
$1 = GUICreate("", 500, 300, 90, 60)
GUISetState()
EndFunc
 
hardfloor
Niveau 4
Niveau 4
Messages : 69
Enregistré le : mer. 31 juil. 2013 09:37
Status : Hors ligne

Re: [..] GUISetOnEvent

#5

Message par hardfloor »

Ah c'est bon je viens de trouver!! Il y a peut etre une autre facon de faire!

Code : Tout sélectionner

Func Calculer()
     Opt("GUIOnEventMode", 1)
    Local $t
;~  MsgBox(0,"", "Ceci est un test")
$1 = GUICreate("", 1166, 607, 191, 121)
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit1")

EndFunc



Func _Exit()
    Exit
EndFunc

Func _Exit1()
    Local $1
    GUIDelete($1)
    Opt("GUIOnEventMode", 0)
    EndFunc
 
Avatar du membre
FireFox
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 217
Enregistré le : dim. 14 oct. 2012 01:30
Localisation : Picardie/Île-de-France, France
Status : Hors ligne

Re: [..] GUISetOnEvent

#6

Message par FireFox »

Tu peux utiliser le paramètre avancé de la fonction GUIGetMsg (c.f: helpfile).

Cdlt, FireFox.
Répondre