[R] Fermé une Gui parmis d'autre.
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] Fermé une Gui parmis d'autre.
Bonjour,
J'ai crée un petit tools pour un amis.
Et mon problème est qu'on peux ouvrir plusieurs Gui, grâce à 2 bouton ( chacun ouvre 1 Gui ) et donc avec la 'X' croix rouge en haut a droit ( $GUI_EVENT_CLOSE ) pour fermer que celle-ci est non les autres.
Mon script se compose d'une fenêtre principale avec les deux boutons.
Et les autres se sont des Func avec une GuiCreate et une Boucle.
Merci d'avance. Cordialement Locos974.
J'ai crée un petit tools pour un amis.
Et mon problème est qu'on peux ouvrir plusieurs Gui, grâce à 2 bouton ( chacun ouvre 1 Gui ) et donc avec la 'X' croix rouge en haut a droit ( $GUI_EVENT_CLOSE ) pour fermer que celle-ci est non les autres.
Mon script se compose d'une fenêtre principale avec les deux boutons.
Et les autres se sont des Func avec une GuiCreate et une Boucle.
Merci d'avance. Cordialement Locos974.
Modifié en dernier par locos974 le mar. 23 oct. 2012 21:54, modifié 1 fois.
Cordialement Locos974.
- FireFox
- AutoIt MVPs (MVP)

- Messages : 217
- Enregistré le : dim. 14 oct. 2012 01:30
- Localisation : Picardie/Île-de-France, France
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Bonsoir,
Je ne comprend pas trop ton problème, si tu veux que les autres se ferment avec la fenêtre principale, tu as juste à les cacher lorsque tu caches la principale.
Cdlt, FireFox.
Je ne comprend pas trop ton problème, si tu veux que les autres se ferment avec la fenêtre principale, tu as juste à les cacher lorsque tu caches la principale.
Cdlt, FireFox.
Modifié en dernier par FireFox le sam. 21 sept. 2013 15:55, modifié 1 fois.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Hum je vois (sujet traité quelques dizaines de fois)
Tu veux pouvoir fermer les gui séparément, c'est ça ?
Faut utiliser le paramètre de GuiGetMsg et faire ta boucle comme ça, mais attention, pas d'autre boucle While ailleurs ake sinon ça va merder et il faudra alors passer en mode OnEvent
Tu veux pouvoir fermer les gui séparément, c'est ça ?
Faut utiliser le paramètre de GuiGetMsg et faire ta boucle comme ça, mais attention, pas d'autre boucle While ailleurs ake sinon ça va merder et il faudra alors passer en mode OnEvent
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- TommyDDR
- Modérateur

- Messages : 2130
- Enregistré le : mar. 22 juil. 2008 21:55
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Si vous débutez, oubliez GUIGetMsg(), comme l'a dit Mikell, utilisez le mode OnEvent.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Exemple équivalent en mode OnEvent@TommyDDR
Le problème quand on débute c'est que tous les exemples du fichier d'aide dans la rubrique "Gui Management" sont construits avec des boucles GuiGetMsg, donc vaut ptêt mieux apprendre à maîtriser ça avant de s'attaquer au mode OnEvent (même si celui-ci est effectivement bien meilleur)
► Afficher le texte
Le problème quand on débute c'est que tous les exemples du fichier d'aide dans la rubrique "Gui Management" sont construits avec des boucles GuiGetMsg, donc vaut ptêt mieux apprendre à maîtriser ça avant de s'attaquer au mode OnEvent (même si celui-ci est effectivement bien meilleur)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Fermé une Gui parmis d'autre.
Merci de toute vos réponse !
Voilà mon code source. Sauf que j'aimerais que si j'appuie sur la croix rouge de la Gui NPCTemplate, sa supprime celle ci. Et idem pour l'autre.
Je vais essayer pour le OnEvent.
Ceci je l'avais déjà interprété mais cela provoque un 'bug'. Je ne peux plus appuyer sur un bouton ou quitter la fenêtre,.. En gros le script est considéré sur PAUSE.mikell a écrit :Hum je vois (sujet traité quelques dizaines de fois)
Tu veux pouvoir fermer les gui séparément, c'est ça ?
Faut utiliser le paramètre de GuiGetMsg et faire ta boucle comme ça, mais attention, pas d'autre boucle While ailleurs ake sinon ça va merder et il faudra alors passer en mode OnEvent
► Afficher le texte
Je vais essayer pour le OnEvent.
Cordialement Locos974.
- FireFox
- AutoIt MVPs (MVP)

- Messages : 217
- Enregistré le : dim. 14 oct. 2012 01:30
- Localisation : Picardie/Île-de-France, France
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Hm... ca marche bien chez moi, ça doit venir de tes fonctions NCP qui doivent contenir un loop.
Edit : Je pense que tu veux que le script se ferme quand tu fermes la fenêtre?
Dans ce cas ajoute un Exit après ton GUIDelete.
Cdlt, FireFox.
Edit : Je pense que tu veux que le script se ferme quand tu fermes la fenêtre?
Dans ce cas ajoute un Exit après ton GUIDelete.
Cdlt, FireFox.
Modifié en dernier par FireFox le sam. 21 sept. 2013 15:56, modifié 1 fois.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Question
Si les 2 nouvelles gui contiennent des controles (boutons...) , où est-ce que ces controles sont gérés ?
Si les 2 nouvelles gui contiennent des controles (boutons...) , où est-ce que ces controles sont gérés ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Fermé une Gui parmis d'autre.
Dans une Func soit :
Func NPCTemplate()
Toute la gui..
While 1
Switch $nMsg
$nMsg = GuiGetMsg()
Case $botton1
...
EndSwitch
Wend
Endfunc
Func NPCTemplate()
Toute la gui..
While 1
Switch $nMsg
$nMsg = GuiGetMsg()
Case $botton1
...
EndSwitch
Wend
Endfunc
Cordialement Locos974.
- FireFox
- AutoIt MVPs (MVP)

- Messages : 217
- Enregistré le : dim. 14 oct. 2012 01:30
- Localisation : Picardie/Île-de-France, France
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Il faut que tu regroupes tes While dans le principal en utilisant le code fourni par mikell au post #2.
Cdlt, FireFox.
Cdlt, FireFox.
Modifié en dernier par FireFox le sam. 21 sept. 2013 15:55, modifié 1 fois.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Qu'est-ce que ça peut être gonflant les gens qui répondent sans avoir lu le post ...
1) tu dois gérer tous les controles de toutes les gui dans une seule boucle While
2) pour faire ça tu utilises GuiGetMsg(1) en suivant le modèle de mon 1er post que tu as lu en travers et trop vite
Edit
@FireFox, c'est pas à toi que je dis ça
Doncmikell a écrit :Faut utiliser le paramètre de GuiGetMsg et faire ta boucle comme ça, mais attention, pas d'autre boucle While ailleurs ake sinon ça va merder
1) tu dois gérer tous les controles de toutes les gui dans une seule boucle While
2) pour faire ça tu utilises GuiGetMsg(1) en suivant le modèle de mon 1er post que tu as lu en travers et trop vite
Edit
@FireFox, c'est pas à toi que je dis ça
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Fermé une Gui parmis d'autre.
Voilà :
Ceci est la boucle de la première Gui qui permet d'ouvrir les deux autres suivantes.
Mais une question, les autres fonctions de mes autres Gui, je l'est met aussi dans la première While ?
Fin.. Je n'est pas trop compris le système que vous voulez interprété.
Code : Tout sélectionner
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE
Switch $nMSG[1]
Case $NPCTemplate
GuiDelete($NPCTemplate)
Case $NPCRA
GuiDelete($NPCRA)
Case $NPCCreator
GuiDelete($NPCCreator)
EndSwitch
Case $Button1
_NPCTemplate()
Case $Button2
_NPCReponseAction()
Case $Button3
_FileCreate(@ScriptDir&"\Config.ini")
IniWrite(@ScriptDir&"\Config.ini","DataBase","NPC_T","npc_template")
IniWrite(@ScriptDir&"\Config.ini","DataBase","NPC_Q","npc_questions")
IniWrite(@ScriptDir&"\Config.ini","DataBase","NPC_RA","npc_reponses_actions")
ShellExecute(@ScriptDir&"\Config.ini")
EndSwitch
WEndMais une question, les autres fonctions de mes autres Gui, je l'est met aussi dans la première While ?
Fin.. Je n'est pas trop compris le système que vous voulez interprété.
Cordialement Locos974.
- FireFox
- AutoIt MVPs (MVP)

- Messages : 217
- Enregistré le : dim. 14 oct. 2012 01:30
- Localisation : Picardie/Île-de-France, France
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Au premier abord j'y ai crumikell a écrit : Edit
@FireFox, c'est pas à toi que je dis ça
Et c'est moi ou locos974 ne s'exprime pas bien car là une fois sur deux j'étais à côté de la plaque
Modifié en dernier par FireFox le sam. 21 sept. 2013 15:55, modifié 1 fois.
- FireFox
- AutoIt MVPs (MVP)

- Messages : 217
- Enregistré le : dim. 14 oct. 2012 01:30
- Localisation : Picardie/Île-de-France, France
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Bon on va récapituler...
Tu peux aussi inverser les switchs comme l'a fait mikell dans son 2ème post.
Cdlt, FireFox.
► Afficher le texte
Cdlt, FireFox.
Modifié en dernier par FireFox le sam. 21 sept. 2013 15:55, modifié 1 fois.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Oui, par exemple comme ça
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Re: [..] Fermé une Gui parmis d'autre.
Sauf que je ne veux pas que les 3 Guis se lance toute d'un coup.
Modifié en dernier par locos974 le mar. 23 oct. 2012 21:54, modifié 1 fois.
Cordialement Locos974.
- FireFox
- AutoIt MVPs (MVP)

- Messages : 217
- Enregistré le : dim. 14 oct. 2012 01:30
- Localisation : Picardie/Île-de-France, France
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
T'es pas obligé des toutes les afficher, tu les laisses à l'état par défaut qui est "HIDE" (caché) et quand tu en as besoin tu les affiches avec un GUISetState($taGUI, @SW_SHOW)
Tu peux aussi déclarer les variables des éléments contenus par la GUI + la GUI et la créer ensuite pour éviter les erreurs de variable non déclarée.
Cdlt, FireFox.
Tu peux aussi déclarer les variables des éléments contenus par la GUI + la GUI et la créer ensuite pour éviter les erreurs de variable non déclarée.
Cdlt, FireFox.
Modifié en dernier par FireFox le sam. 21 sept. 2013 15:54, modifié 1 fois.
Re: [..] Fermé une Gui parmis d'autre.
Pas bête l'idée de la cachée j'avais pas pensé !
Je vais essayer sa.
Je vais essayer sa.
Cordialement Locos974.
- mikell
- Spammer !

- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
ça marchera mais j'aime pas bien le principe de tout balancer d'un coup en gérant ensuite juste la visibilité

Bin ça serait bien qu'il comprenne les concepts qu'on essaie de lui expliquer, parce que là j'ai l'impression confuse que ça rentre pasd3monCorp a écrit :Et c'est moi ou locos974 ne s'exprime pas bien car là une fois sur deux j'étais à côté de la plaque
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- FireFox
- AutoIt MVPs (MVP)

- Messages : 217
- Enregistré le : dim. 14 oct. 2012 01:30
- Localisation : Picardie/Île-de-France, France
- Status : Hors ligne
Re: [..] Fermé une Gui parmis d'autre.
Ca n'a pas de sens si tu as besoin de te servir des fenêtres à des moments différents, car si je suis ce que tu dis, tu devras à chaque fois recréer la fenêtre et ensuite la supprimer ce qui là n'est pas top (à mon goût) !mikell a écrit :ça marchera mais j'aime pas bien le principe de tout balancer d'un coup en gérant ensuite juste la visibilité

