[R] Fermer les fenetres

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
YuChan
Niveau 4
Niveau 4
Messages : 81
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

[R] Fermer les fenetres

#1

Message par YuChan »

Bonjour,

Pour fermer mes fenêtres je fais ça :

Code : Tout sélectionner

Case $GUI_EVENT_CLOSE, $listeChoixConfirmCANCEL, $GUIAction, $ButtonCancelCreateTrajet
ExitLoop
Le problème c'est que sa ferme tout le programme et non pas juste la fenêtre active.

Ya t'il une solution ?

Merci
Modifié en dernier par YuChan le jeu. 21 janv. 2021 09:16, modifié 1 fois.
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6136
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Fermer les fenetres

#2

Message par mikell »

Si la fenêtre à fermer est une gui que tu as créée, utilise GuiDelete() à la place de ExitLoop
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
YuChan
Niveau 4
Niveau 4
Messages : 81
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Fermer les fenetres

#3

Message par YuChan »

Merci en effet c'est mieux.

Par contre du coup pour la fenêtre principal elle ce ferme mais pas le processus.

Comment faire du coup ?

Merci
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6136
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Fermer les fenetres

#4

Message par mikell »

Réponse dans le wiki
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
YuChan
Niveau 4
Niveau 4
Messages : 81
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Fermer les fenetres

#5

Message par YuChan »

Oui merci c'est la bonne réponse.

Mais j'ai beaucoup de ligne de code et c'est pas évident au départ.

Pourriez vous expliquer en 2 mots ce qu'il faut faire ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11679
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Fermer les fenetres

#6

Message par Tlem »

Re bonjour.

Il y a un problème de contradiction dans vos questions/réponses.

Vous demandez comment on peux fermer une fenêtre sans fermer le programme.
Le problème c'est que sa ferme tout le programme et non pas juste la fenêtre active.
Michel vous a répondu "en utilisant "GuiDelete".

puis dans votre deuxième message, vous dites :
Par contre du coup pour la fenêtre principal elle ce ferme mais pas le processus.

Donc on fait quoi là ????
Il faudrait être clair dans vos demandes. :evil:
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é".
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6136
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Fermer les fenetres

#7

Message par mikell »

YuChan a écrit : mar. 19 janv. 2021 10:59Mais j'ai beaucoup de ligne de code et c'est pas évident au départ.
Pourriez vous expliquer en 2 mots ce qu'il faut faire ?
La réponse est évidente :
Comme toujours pour arriver à quelque chose il faut se sortir les doigts du c... et se mettre au boulot
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2230
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: Fermer les fenetres

#8

Message par jchd »

Bien sûr : c... = canal auditif
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Boulanza
Niveau 9
Niveau 9
Messages : 673
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: Fermer les fenetres

#9

Message par Boulanza »

Bonjour,
Testez ce code:
Cordialement
Func FermerFenetre()
;$hGUI = GUICreate("Fenetre", 540, 480, -1, -1)
$FrWinSetState = WinSetState("Fenetre", "", @SW_HIDE)
EndFunc   ;==>CloseFinProtect2
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11679
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Fermer les fenetres

#10

Message par Tlem »

@Boulanza
Pour faire suite à mon message dans l'autre sujet :
Le nom de la fonction est trompeur car on ne ferme pas, on masque/cache la fenêtre.
Vous créez une fonction avec une seule ligne de code statique => Autant écrire directement la ligne dans le code
Vous déclarez une variable ($FrWinSetState) qui ne sert à rien.
Sans compter ce bout de commentaire qui vient d'ailleurs et qui ne sert à rien ;==>CloseFinProtect2

Je n'aurait rien dit si vous aviez été jusqu'à faire quelque chose comme ceci :

Code : Tout sélectionner

Func CacheLaFenetre($sTitle)
  Return WinSetState($sTitle, "", @SW_HIDE)
EndFunc
Bien que ce code soit absolument inutile.
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é".
YuChan
Niveau 4
Niveau 4
Messages : 81
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Fermer les fenetres

#11

Message par YuChan »

Merci pour vos réponses.

Alors j'ai fait comme ça :

Code : Tout sélectionner

While 1												
							
GUIDelete($GUIListeConfigs)
Switch GUIGetMsg()
	Case $listeChoixConfirmCANCEL, $GUIAction, $GUIlisteConfirmChoix, $GUIListeConfigs
		GuiDelete()

	Case $GUI_EVENT_CLOSE
		Exit
Mais la encore ça me ferme tout le programme.
La seul chose qui marche c'est le bouton Cancel

Je pose une question surement débile mais je ne trouve pas d'autre solution.

Pour WinSetState sa cache seulement la fenêtre comme pour GuiDelete() et le processus tourne en arrière plan du coup impossible de fermer aussi les fenêtre parent.

Merci si possible de continuer de m'aider.
YuChan
Niveau 4
Niveau 4
Messages : 81
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Fermer les fenetres

#12

Message par YuChan »

Désolé j'avais pas vue ton message Tlem.

En effet je veux fermer les GUI que j'ai creée sa c'est facile faut utiliser GUIDelete() par contre la GUI principal avec GUIDelete() reste en arriére plan ce qui va pas, donc dans le code comment fermer la fenêtre principale avec exit du processus et fermer les GUI perso avec GUIDelete().

Vous semblez dire que c'est la base mais je vois aucun wiki avec mon problème

Cdt
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11679
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Fermer les fenetres

#13

Message par Tlem »

Ben oui, forcément, si vous fermez toutes les fenêtres (GUI) mais que vous ne quittez pas le code, celui-ci continue de tourner en boucle et comme il n'y a plus d'interface graphique (GUI) pour dire que vous voulez le fermer, ben il restera en fonctionnement jusqu'à l’arrêt du PC !

Donc au lieu de faire un GUIDelete sur votre interface principale, faites simplement un Exit. :roll:
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é".
YuChan
Niveau 4
Niveau 4
Messages : 81
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Fermer les fenetres

#14

Message par YuChan »

Oui merci j'avais constaté ceci.

Cela dit, je suis toujours bloqué.
Comment connaitre l’interface principal ?

Je signal par ailleurs que j'ai déjà 2300 ligne de code, ce qui va pas m'aider beaucoup, le problème des fenêtres arrive maintenant.
Sa aurait été plus simple de faire ça dès le début.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11679
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Fermer les fenetres

#15

Message par Tlem »

Comment connaitre l’interface principal ?
Heuuu, c'est un blague ?
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é".
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6136
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Fermer les fenetres

#16

Message par mikell »

YuChan a écrit : mer. 20 janv. 2021 10:58 Cela dit, je suis toujours bloqué.
OK...

Sur le fond : pour la technique, j'ai donné un lien dans le message n°4 de ce sujet mais manifestement tu ne l'as pas regardé
Sur la forme : pour la méthode, voir le message n°7 de ce sujet

Si tu continues à poser des questions idiotes alors que tu ne fais aucun effort et que les réponses sont évidentes et toutes présentes dans le fichier d'aide, je fermerai tes sujets pour cause de pollution de forum.
Mets-toi dans la tête une bonne fois pour toutes que nous ne ferons PAS ton code à ta place
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2011
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: Fermer les fenetres

#17

Message par TommyDDR »

Vous avez codé 2300 lignes dans un seul programme et vous vous posez encore ce genre de question ?
C'est étrange ^^
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
YuChan
Niveau 4
Niveau 4
Messages : 81
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Fermer les fenetres

#18

Message par YuChan »

mikell si j'ais vue votre script mais avec le code actuel je dois dire que je dois retaper tout le code des while ce qui va etre très long.

Donc une solurtion SVP, ou bien je clos le sujet car yen a pas ?

Merci
Avatar du membre
mikell
Modérateur
Modérateur
Messages : 6136
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Fermer les fenetres

#19

Message par mikell »

YuChan a écrit : jeu. 21 janv. 2021 04:50avec le code actuel je dois dire que je dois retaper tout le code des while
Il n'y a pas de solution magique. Si pour arriver au résultat souhaité tu dois réécrire tes boucles, tu n'as pas le choix... c'est ça ou tu abandonnes
De toute façon c'est comme ça qu'on apprend. Dis-toi que tu sortiras de l'épreuve plus savant :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
YuChan
Niveau 4
Niveau 4
Messages : 81
Enregistré le : jeu. 12 nov. 2020 14:09
Status : Hors ligne

Re: Fermer les fenetres

#20

Message par YuChan »

Faut dire que je comprends rien niveau Fenetre.
Je sais pas dans quels while mettre les fermeture ou juste cacher.

Bref je recommence mes while.

merci
Répondre