[R] Mode Envent empêche GuiCtrlsetState()

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Sh4dows
Status : Hors ligne

[R] Mode Envent empêche GuiCtrlsetState()

#1

Message par Sh4dows »

Salut à tous,

Est il normale que le mode event :

Code : Tout sélectionner

Opt("GUIOnEventMode", 1)
 
Empêche le GuiCtrlSetState.
Je cherche à désactiver mon Contrôle si l'utilisateur clic sur un bouton, mais condition ou pas rien n'y fait il est désactivé dès le départ !

Mon code :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)

Global $Form1 = GUICreate("Gui", 499, 281, 449, 182)
Global $Button1 = GUICtrlCreateButton("Touch", 352, 248, 137, 25, $WS_GROUP)
GUICtrlSetOnEvent($Button1, "_CH")

GUISetState(@SW_SHOW)

While 1
Sleep(1000)
WEnd

Func _CH()
    GUICtrlSetState($Button1, $GUI_DISABLE)
EndFunc
 
Merci d'avance pour votre aide !
Modifié en dernier par Sh4dows le mer. 04 août 2010 08:33, modifié 1 fois.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Mode Envent empêche GuiCtrlsetState()

#2

Message par sylvanie »

étrange
chez moi le bouton est actif au lancement, puis il se désactive en cliquant dessus ... en gros ça marche
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Sh4dows
Status : Hors ligne

Re: [..] Mode Envent empêche GuiCtrlsetState()

#3

Message par Sh4dows »

En effet étrange ! As tu un code pour faire des tests ?
Sh4dows
Status : Hors ligne

Re: [..] Mode Envent empêche GuiCtrlsetState()

#4

Message par Sh4dows »

Maintenant cela semble marcher, c'est à ne rien y comprendre :shock:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Mode Envent empêche GuiCtrlsetState()  

#5

Message par Tlem »

Votre code fonctionne parfaitement ...
Regardez si vous n'avez pas un autre problème ailleurs.
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é".
Sh4dows
Status : Hors ligne

Re: [..] Mode Envent empêche GuiCtrlsetState()

#6

Message par Sh4dows »

Si effectivement, j'ai mis du temps a m'en rendre compte mais une fonction n'allait pas !
Vous pouvez donc supprimer ce Topic qui je pense n'apportera rien aux autre membres.

Pour le fin mot de l'histoire une autre fonction contre disait la première ce qui créer donc un conflit :roll:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Mode Envent empêche GuiCtrlsetState()

#7

Message par Tlem »

Si vous expliquez ce qui posait problème, cela permettrait à d'autres utilisateurs de ne pas faire la même erreur. :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é".
Sh4dows
Status : Hors ligne

Re: [..] Mode Envent empêche GuiCtrlsetState()

#8

Message par Sh4dows »

Dans ce cas expliquons...

Voici le code donnée au départ !

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)

Global $Form1 = GUICreate("Gui", 499, 281, 449, 182)
Global $Button1 = GUICtrlCreateButton("Touch", 352, 248, 137, 25, $WS_GROUP)
GUICtrlSetOnEvent($Button1, "_CH")

GUISetState(@SW_SHOW)

While 1
Sleep(1000)
WEnd

Func _CH()
    GUICtrlSetState($Button1, $GUI_DISABLE)
EndFunc
 
Je n'avais évidemment pas donnée tous le code jugeant cela peut nécessaire, mais dans mon code avant l'appelle de ma fonction _CH, il en existait une autre :

Code : Tout sélectionner

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)

[color=#00FF00]Global $USERNAME = ""[/color]
Global $Form1 = GUICreate("Gui", 499, 281, 449, 182)
Global $Input1 = GUICtrlCreateInput("", 128, 166, 345, 21)
Global $Button1 = GUICtrlCreateButton("Touch", 352, 248, 137, 25, $WS_GROUP)
[color=#00FF00]_SH4DOWS(GUICtrlRead($Input1))[/color]
;...
GUICtrlSetOnEvent($Button1, "_CH")

GUISetState(@SW_SHOW)

While 1
Sleep(1000)
WEnd

Func _CH()
    GUICtrlSetState($Button1, $GUI_DISABLE)
    GUICtrlSetState($Input1, $GUI_DISABLE)
EndFunc

[color=#00FF00]Func _SH4DOWS($user)
If $USERNAME = "" Then 
Exit
Else
_CH()
EndIf[/color]
 
Mon code ce présentait comme si dessous donc nous avions une fonction d'appeler pour rien et la variable $USERNAME en Global qui causait le gros conflit car sa valeur était toujours vide !!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Mode Envent empêche GuiCtrlsetState()

#9

Message par Tlem »

Mais en l'occurrence, cela ne bloquait pas le GUICtrlSetOnEvent.
Cela fermait tout simplement votre script ...
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é".
Sh4dows
Status : Hors ligne

Re: [..] Mode Envent empêche GuiCtrlsetState()

#10

Message par Sh4dows »

C'est une reconstitution, j'ai zappé exactement le code :lol:

Bon aller [R]
Répondre