[R] Gestion des évènements (pour les nuls)
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Gestion des évènements (pour les nuls)
Bonjour à tous,
Cette question concerne la gestion globale des évènements.
Je désire créer une fenêtre avec bouton et input qui sous conditions lance une autre fenêtre avec inout et bouton.
Pour la première OK, mais la seconde me met un bronx et je me mélange les pinceaux.
Plus qu'une réponse je cherche un tutoriel de gestion des évènements et de l'organisation du code.
Sinon, je ne crache sur aucun exemple de code simple qui me montre comment gérer les évènements avec plusieurs fenêtres.
Merci de votre patience.
Cette question concerne la gestion globale des évènements.
Je désire créer une fenêtre avec bouton et input qui sous conditions lance une autre fenêtre avec inout et bouton.
Pour la première OK, mais la seconde me met un bronx et je me mélange les pinceaux.
Plus qu'une réponse je cherche un tutoriel de gestion des évènements et de l'organisation du code.
Sinon, je ne crache sur aucun exemple de code simple qui me montre comment gérer les évènements avec plusieurs fenêtres.
Merci de votre patience.
Modifié en dernier par yop73 le lun. 03 août 2009 08:11, modifié 1 fois.
Se dépasser est une course qui ne finit jamais
- Tlem
- Site Admin

- Messages : 11798
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [...] Gestion des évènements (pour les nuls)
Ce n'est pas à proprement parlé un tutoriel, mais ça s'en rapproche fortement :
http://www.autoitscript.fr/autoit3/docs ... ntMode.htm
http://www.autoitscript.fr/autoit3/docs ... ntMode.htm
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [...] Gestion des évènements (pour les nuls)
Merci de l'aide,
Néanmoins, je cherche à lancer une fenêtre et non une msgbox qui réagira au même titre que la fenêtre mère.
Existe-t'il un tutoriel ou un bout de code qui me permettrait de mieux aborder le sujet ?
Merci d'avance
Néanmoins, je cherche à lancer une fenêtre et non une msgbox qui réagira au même titre que la fenêtre mère.
Existe-t'il un tutoriel ou un bout de code qui me permettrait de mieux aborder le sujet ?
Merci d'avance
Se dépasser est une course qui ne finit jamais
- Tlem
- Site Admin

- Messages : 11798
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [...] Gestion des évènements (pour les nuls)
Je ne vois pas ou est le problème !!!
Si vous voulez créer une fenêtre au lieu d'une MsgBox, remplacez le code de cette dernière par le code de création de la nouvelle GUI.
Si vous avez un problème en tête, le mieux serait de l'exposer directement.
Je vous enjoint aussi à regarder les exemples fournit lors de l'installation de AutoIt dans le répertoire : C:\Program Files\AutoIt3\Example
et particulièrement celui-ci : C:\Program Files\AutoIt3\Examples\GUI\Simple\child.au3
qui vous sera sans doute utile (bien qu'il n'y ait pas de gestion événementielle).
Si vous voulez créer une fenêtre au lieu d'une MsgBox, remplacez le code de cette dernière par le code de création de la nouvelle GUI.
Si vous avez un problème en tête, le mieux serait de l'exposer directement.
Je vous enjoint aussi à regarder les exemples fournit lors de l'installation de AutoIt dans le répertoire : C:\Program Files\AutoIt3\Example
et particulièrement celui-ci : C:\Program Files\AutoIt3\Examples\GUI\Simple\child.au3
qui vous sera sans doute utile (bien qu'il n'y ait pas de gestion événementielle).
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [...] Gestion des évènements (pour les nuls)
Voiçi un exemple tout simple
► Afficher le texte
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
Re: [...] Gestion des évènements (pour les nuls)
Quitte à passer pour un nullos, je cherche à comprendre la gestion des évènements avec différentes fenêtres.
Voici ce que je cherche à faire :
Je crée une fenêtre avec X boutons
Qui lance une autre fenêtre avec X boutons.
Je cherche juste une explication (voire un bout de code) qui corresponde à cela.
J'ai beaucoup programmé en VB et j'avoue être aussi intéressé par AutoIt que perdu dans la gestion des fenêtres.
(d'où mon titre)
Merci de votre patience
Voici ce que je cherche à faire :
Je crée une fenêtre avec X boutons
Qui lance une autre fenêtre avec X boutons.
Je cherche juste une explication (voire un bout de code) qui corresponde à cela.
J'ai beaucoup programmé en VB et j'avoue être aussi intéressé par AutoIt que perdu dans la gestion des fenêtres.
(d'où mon titre)
Merci de votre patience
Se dépasser est une course qui ne finit jamais
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [...] Gestion des évènements (pour les nuls)
yop73 a écrit :Quitte à passer pour un nullos, je cherche à comprendre la gestion des évènements avec différentes fenêtres.
Voici ce que je cherche à faire :
Je crée une fenêtre avec X boutons
Qui lance une autre fenêtre avec X boutons.
Je cherche juste une explication (voire un bout de code) qui corresponde à cela.
Et qu'est-ce qu'il avait de pas correct mon code ? ...
Il crée une fenêtre avec un bouton... qui crée une fenêtre vierge (ou tu peux ajouter des boutons)
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
Re: [...] Gestion des évènements (pour les nuls)
Ca y est, merci
Voici ce qu'il me fallait.
Ce fut long mais ça fait plaisir.
Merci à tous
Voici ce qu'il me fallait.
Ce fut long mais ça fait plaisir.
Merci à tous
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
; FENETRE PRINCIPALE------------------------------------------
$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")
; FENETRE SECONDAIRE------------------------------------------
$window2 = GUICreate("window 2 for testing ", 300, 300)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$okbutton_fen2 = GUICtrlCreateButton("OK", 70, 50, 60)
GUICtrlSetOnEvent($okbutton_fen2, "OKButton_fen2")
;-------------------------------------------------------------
GUISetState(@SW_SHOW,$mainwindow)
While 1 ; Boucle d'attente
Sleep(1000)
WEnd
Func OKButton() ; Bouton OK du GUI principal
MsgBox(0, "GUI Event", "You pressed OK!")
GUISetState(@SW_SHOW, $window2)
EndFunc
Func CLOSEClicked() ; Gestion globale des boutons CLOSE
If @GUI_WINHANDLE = $mainwindow Then
MsgBox(0, "GUI Event", "You clicked CLOSE in the main window! Exiting...")
Exit
EndIf
If @GUI_WINHANDLE = $window2 Then
MsgBox(0, "GUI Event", "You clicked CLOSE in the window2 Exiting...")
GUISetState(@SW_HIDE ,$window2)
EndIf
EndFunc
Func OKButton_fen2() ; Bouton OK du GUI secondaire
MsgBox(0, "GUI Event", "You pressed OK!")
GUISetState(@SW_HIDE ,$window2)
EndFuncSe dépasser est une course qui ne finit jamais

