[R] Hotkeyset pour decocher ou cocher une checkbox

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

[R] Hotkeyset pour decocher ou cocher une checkbox

#1

Message par zeburrin »

Bonjour je suis débutant en autoit et la programmation en général et je vient vous demander de l'aide .
Voila je voudrait pouvoir cocher ou décocher une checkbox avec la meme Hotkey.

Code : Tout sélectionner

HotKeySet("{F2}", "cocherdecochercheckbox")

Func cocherdecochercheckbox()
    GUICtrlSetState($checkbox, 1) ; cocher la checkbox

[color=#00BF00]; j'avais pense a continuer avec ça mais je pense que je suis dans l'erreur :
;If guitctrlread(checkbox) = 1 then
;        GUICtrlSetState($checkbox, 0) ; decocher la checkbox
;Endif[/color]
EndFunc
je pense que ce ne doit pas être compliquer mais je ne sait vraiment pas comment continuer ma fonction pour pouvoir cocher ou décocher la checkbox .
merci d'avance.
Modifié en dernier par zeburrin le ven. 10 oct. 2014 08:43, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Hotkeyset pour decocher ou cocher une checkbox

#2

Message par Tlem »

Bonjour.
Vous devez tester l'état de la CheckBox. Vous trouverez sur le forum la fonction _IsChecked().

Après, dans votre fonction cocherdecochercheckbox(), il suffit de tester l'état et de faire l'action conséquente (If ...Then...Else...).

Envoyé depuis mon mobile en utilisant Tapatalk.
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é".
zeburrin
Status : Hors ligne

Re: [R] Hotkeyset pour decocher ou cocher une checkbox

#3

Message par zeburrin »

Merci pour votre réponse cela ma indiquer la marche a suivre.
pour décocher une checkbox avec GUICtrlSetState la valeur est de 4

Code : Tout sélectionner

Func cocherdecocherlacheckbox()
    If _IsChecked($checkbox) = 0 then
    GUICtrlSetState($checkbox, 1) ; cocher la checkbox
Else
    GUICtrlSetState($checkbox, 4) ; decocher
EndIf
EndFunc
Func _IsChecked($checkbox)
    Return BitAnd(GUICtrlRead($checkbox),$GUI_CHECKED) = $GUI_CHECKED
EndFunc
Problème résolu , merci encor.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [R] Hotkeyset pour decocher ou cocher une checkbox

#4

Message par TommyDDR »

"La valeur est de 4" -> $GUI_UNCHECKED = 4

Si vous utilisez $GUI_CHECKED dans votre fonction "_IsChecked c'est que vous avez fait l'unclude qui va avec, donc autant utiliser les constantes partout ;)

Sinon, une best practice quand on fait un if qui contient un else, on évite de tester la "non condition", autant tester si la condition est vraie et inverser le code avec le else, cela ne changera pas votre code, évitera une opération supplémentaire et vous vous y retrouverez mieux.

Si la case est cochée, on la décoche sinon on la coche
Au lieu de
Si la case n'est pas cochée, on la coche, sinon on la décoche
► Afficher le textecode
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Hotkeyset pour decocher ou cocher une checkbox  

#5

Message par mikell »

Code : Tout sélectionner

Func cocherdecocherlacheckbox()
   GUICtrlSetState($checkbox, GuiCtrlRead($checkbox) = 1 ? $GUI_UNCHECKED : $GUI_CHECKED)
EndFunc
:wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre