Page 1 sur 1

[R] GUI toujours visible

Posté : sam. 08 nov. 2014 18:57
par ArkhaDae
Et encore un problème, que je n'arrive pas à résoudre cette fois.

Dans un script, j'aimerai afficher une GUI, qui restera affichée donc en premier plan tout le temps que le reste du script tourne mais ... sans utiliser de boucle, pas de while.
J'aimerai savoir si c'est possible de "freezer" la gui et de temps en temps le programme modifiera des variables dedans.

PS : J'ai pas besoin d'avoir cette fenêtre active mais seulement présente tout le temps

Merci par avance de votre aide :D

Re: [...] GUI toujours visible

Posté : sam. 08 nov. 2014 19:19
par ArkhaDae
Désolé pour le double post.

Evidement je pourrais faire deux programmes:
-Pour la GUI
-Pour le script
et faire le lien par un bloc note pour les valeurs qui changent.

Mais j'aimerai le faire en un seul.

Re: [...] GUI toujours visible

Posté : sam. 08 nov. 2014 19:47
par orax
Avec AdlibRegister peut-être ? Ou le mode OnEvent : Opt("GUIOnEventMode", 1). Avec GUIOnEventMode il n'y a pas de boucle While pour la GUI.

Re: [...] GUI toujours visible

Posté : sam. 08 nov. 2014 21:27
par mikell
?

Code : Tout sélectionner

#include <WindowsConstants.au3> 
$gui = guicreate("test", 300, 80, 50, 10, -1, $WS_EX_TOPMOST)

Re: [...] GUI toujours visible

Posté : sam. 08 nov. 2014 23:03
par ArkhaDae
Wahou toujours impressionné par la vitesse de réponse^^

J'ai copié collé ce que tu m'as dit et lancé, mais la GUI ne reste pas elle s'affiche et disparait illico. (j'avais déjà essayé auparavant mais ca marchait pas c'est pour ca que j'ai posté)

Merci quand même pour l'aide :)
(sinon d'autres proposition du coup? ^^')

Re: [...] GUI toujours visible

Posté : sam. 08 nov. 2014 23:37
par Tlem
ArkhaDae a écrit :j'aimerai afficher une GUI, qui restera affichée donc en premier plan tout le temps que le reste du script tourne mais ... sans utiliser de boucle, pas de while.
ArkhaDae a écrit :la GUI ne reste pas elle s'affiche et disparait illico.
Pour qu'une interface graphique reste affichée, il faut obligatoirement une boucle d'attente, sinon votre script se termine et la GUI disparait !

Si vous voulez plus d'aide, montrez nous votre code que l'on voie ou ce situe le problème.

Re: [...] GUI toujours visible

Posté : dim. 09 nov. 2014 15:41
par ArkhaDae
Bah avec une boucle je sais afficher une GUI sans problème mais justement je voulais savoir s'il y avait un moyen pour ne pas avoir à utiliser de boucle.

Re: [...] GUI toujours visible

Posté : dim. 09 nov. 2014 17:26
par mikell
Mélange pas tout
Pour que la gui reste affichée, faut pas que ton script s'arrête, ok ? tu peux faire une boucle a minima sans rien dedans si tu veux, mais son existence est toujours nécessaire
Après pour avoir une "GUI toujours visible" c'est avec l'exstyle que tu lui donnes à sa création, pas besoin de l'activer en continu dans la boucle

Code : Tout sélectionner

#include <WindowsConstants.au3>
$gui = guicreate("test", 300, 80, -1, -1, -1, $WS_EX_TOPMOST)
GuiSetState()

While 1
  Sleep(10)
Wend

Re: [...] GUI toujours visible

Posté : dim. 09 nov. 2014 18:51
par ArkhaDae
Dac, merci pour votre aide, je vais essayer de modifier mon script du coup^^. Je pensais qu'on pouvais toujours afficher la gui sans boucle infinie.
Merci de votre aide en tout cas, très rapide.

Re: [...] GUI toujours visible

Posté : dim. 09 nov. 2014 20:22
par jguinch
La boucle infinie sert juste à maintenir le programme en vie et en autres, à récupérer les évènements (sauf en mode OnEvent)
N'importe quelle autre fonction (non bloquante) pourrait faire l'affaire. Ex :
► Afficher le texte
Mais on est bien d'accord : il n'y a aucun intérêt...

Re: [...] GUI toujours visible

Posté : dim. 09 nov. 2014 21:23
par mikell
Sauf que le WinWait est quand même assez pervers
"Pauses execution of the script until the requested window does not exist."
Au moins avec une boucle tu peux faire vivre le script, même en mode onevent ^^

Re: [...] GUI toujours visible

Posté : mar. 11 nov. 2014 12:59
par ArkhaDae
Bah, c'est exactement ca que je voulais ^^ merci beaucoup de votre aide, je connaissait pas ce winwait.
Ce n'est pas forcément sans interêt car j'avais envie d'afficher une gui constamment et en même temps changer un tas de viable en continu (le reste du prog)

Vous pouvez mettre ce sujet en Résolu :)

Re: [...] GUI toujours visible

Posté : mar. 11 nov. 2014 14:17
par orax
En fait, quand tu penses que le problème est solutionné, c'est à toi de passer en résolu. :mrgreen: Clique sur le bouton EDITER du premier message et remplace [...] par [R] dans le titre.

Re: [R] GUI toujours visible

Posté : lun. 17 nov. 2014 19:31
par ArkhaDae
Ah d'accord (un peu à la bourre désolé), je ferai comme tu dis la prochaine fois :)