[VB6] Comment changer la valeur d'un ToggleButton sans evenement

Comment changer la valeur d'un ToggleButton sans evenement [VB6] - Programmation

Marsh Posté le 26-07-2001 à 16:02:12    

Salut,
 
J'ai un petit probleme avec VB.
 
Je veux changer la value d'un togglebutton (true ou false) sans pour autant declencher l'evement Click associe a ce bouton.
 
Comment faire ? Est-ce une propriete du bouton ?
 
Merci.
 
Guz.

Reply

Marsh Posté le 26-07-2001 à 16:02:12   

Reply

Marsh Posté le 26-07-2001 à 16:14:49    

J'en suis resté à la version 3, mais un objet peut voir ses propriétés modifier "à la main".
On peut faire togglebouton.Value = FALSE si l'objet togglebouton a une propriété Value. Même si un "click" le ferait aussi.
 
L'action sur "click" permet de "simuler" une action et d'appliquer tout ce qui en découle. C'est plus simple à lire dasn le code ensuite que d'attribuer une valeur "sournoisement"...

Reply

Marsh Posté le 26-07-2001 à 16:24:33    

Oui oui je sais.
 
Mais normalement y'a deux evenements :
 
* Click : qui ne doit reagit qu'au click souris
 
* Change : qui reagit au changement de value
 
et la quoi que je fasse : click, ou changement par code les 2 evenements sont generes.
 
Help.

Reply

Marsh Posté le 26-07-2001 à 18:58:14    

Place ca n'importe ou :  
togglebutton.value = not togglebutton.value
 
Le NOT est un opérateur logique qui aura pour action de mettre le bit inverse :  
 
in_value    out_value
    1         0  
    0         1
 
Sachant que True = 1 et False = 0 :)

Reply

Marsh Posté le 27-07-2001 à 09:01:27    

Sous VB moderne, altérer une propriété d'un objet provoque un évenement sur cet objet ? Ca facilite pas les choses.
 
Sinon, prévoir une option dans l'évenement click qui permet de distinguer si c'est un click normal, ou si c'est le développeur qui le provoque
 
genre :
sub Bouton.Click()
if (Manuel = TRUE) then
 
else
 
endif
Manuel = FALSE
end sub
 
On met Manuel à TRUE avant de provoquer le changement "soft".

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed