Page 1 sur 1

[R] Deux fenetres

Posté : jeu. 04 oct. 2007 18:59
par XcessiV
Bonsoir.

Je voulais savoir si il était possible, lors d'un clic sur un bouton, qu'une seconde et voir une troisieme fenetre s'ouvre...

Si oui, pourriez vous me montrer un exemple, j'ai un peu de mal avec les commandes pour que le soft reste ouvert jusqu'à une interuption...

Merci :)

Posté : jeu. 04 oct. 2007 20:26
par saltan
Je n'ai pas bien compris ta question...

Tu veux que, dans une GUI, lorsque l'utilisateur clic sur un bouton, une autre fenetre GUI s'ouvre ?

Posté : jeu. 04 oct. 2007 21:08
par Tlem
Si ça peut aider :

Code : Tout sélectionner

#include <guiconstants.au3>

$gui1=GUICreate("msgbox1",200,100,-1,-1)
GUICtrlCreateLabel("le blabla",10,10,100)
$gui2=GUICreate("msgbox2",200,100,90,200)
GUICtrlCreateLabel("Leblabla2",10,10,100)
GUISetState(@SW_SHOW,$gui1)
GUISetState(@SW_SHOW,$gui2)
while 1
$msg = GUIGetMsg()
Select
case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
WEnd
Et

Code : Tout sélectionner

#include <GUIConstants.au3>

Opt("GUIOnEventMode", 1)  ; Change to OnEvent mode 
$mainwindow = GUICreate("Hello World", 200, 100)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUICtrlCreateLabel("Hello world! How are you?", 30, 10)
$okbutton = GUICtrlCreateButton("OK", 70, 50, 60)
GUICtrlSetOnEvent($okbutton, "OKButton")

$dummywindow = GUICreate("Dummy window for testing ", 200, 100)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")

GUISwitch($mainwindow)
GUISetState(@SW_SHOW)

While 1
  Sleep(1000)  ; Idle around
WEnd

Func OKButton()
  ;Note: at this point @GUI_CTRLID would equal $okbutton
  MsgBox(0, "GUI Event", "You pressed OK!")
EndFunc

Func CLOSEClicked()
  ;Note: at this point @GUI_CTRLID would equal $GUI_EVENT_CLOSE,
  ;@GUI_WINHANDLE will be either $mainwindow or $dummywindow
  If @GUI_WINHANDLE = $mainwindow Then 
    MsgBox(0, "GUI Event", "You clicked CLOSE in the main window! Exiting...")
    Exit
  EndIf 
EndFunc
 

Posté : ven. 05 oct. 2007 15:13
par XcessiV
Les variables ne s'exportent pas d'une fenetre à l'autre ?

J'ai une variable initialisée sur ma fenetre principale dont je voudrais faire usage sur la seconde. Or, elle apparait comme vide...

Posté : ven. 05 oct. 2007 18:04
par saltan
Si bien, sur puisque les variables sont interne a ton programme, et non interne a la fenêtre.

Le problème vient peut-être du fait que tu les enregistre mal.

Pour enregistrer une variable, moi j'utilise ceci:

Code : Tout sélectionner

While 1
           $msg = GUIGetMsg()
           Select
            Case $msg = $GUI_EVENT_CLOSE
                 Exit
             Case $msg = $rez800
                 $rez=800
             Case $msg = $rez1052
                 $rez=1052
             Case $msg = $rez1200
                 $rez=1200
           EndSelect
       WEnd
Tu comprends ce que je veux dire ?

Posté : lun. 08 oct. 2007 13:08
par XcessiV
merci, j'ai trouvé :p
je ne suis pas codeur pour un sous, je suis donc très mal organisé ^^