Fonction pour presser un bouton radio

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
littlechiki
Niveau 3
Niveau 3
Messages : 48
Enregistré le : sam. 13 avr. 2019 13:58
Status : Hors ligne

Fonction pour presser un bouton radio  

#1

Message par littlechiki »

Bonjour,
Je cherche à créer une fonction qui me permettrait de cocher un bouton radio simplement en appuyant sur une touche de mon clavier.
Imaginons que j'appuie sur la touche 1, un bouton radio se coche. en appuyant sur 2, un autre se coche.
Merci pour vos réponses !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Fonction pour presser un bouton radio

#2

Message par mikell »

Il y a plusieurs façons, par exemple :

#include <GUIConstantsEx.au3>

GUICreate("", 225, 80)
$un = GUICtrlCreateRadio("touche 1", 10, 50, 65, 25)
$deux = GUICtrlCreateRadio("touche 2", 80, 50, 65, 25)
$d1 = GUICtrlCreateDummy()
$d2 = GUICtrlCreateDummy()
Local $aAccelKeys[2][2] = [["{NUMPAD1}", $d1],["{NUMPAD2}", $d2]]
GUISetAccelerators($aAccelKeys)
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $d1
            GUICtrlSetState ($un, $GUI_CHECKED)
        Case $d2
            GUICtrlSetState ($deux, $GUI_CHECKED)
    EndSwitch
WEnd
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
mdanielm
Membre émérite
Membre émérite
Messages : 254
Enregistré le : mer. 11 déc. 2013 19:48
Status : Hors ligne

Re: Fonction pour presser un bouton radio

#3

Message par mdanielm »

Sans Dummy:
GUICreate("", 225, 80)
   $un = GUICtrlCreateRadio("touche 1", 10, 50, 65, 25)
   $deux = GUICtrlCreateRadio("touche 2", 80, 50, 65, 25)
   GUISetState()

   do
      if _IsPressed("61") then
         GUICtrlSetState ($un, $GUI_CHECKED)
      elseif _IsPressed("62") then
         GUICtrlSetState ($deux, $GUI_CHECKED)
      EndIf
   until GUIGetMsg()=$GUI_EVENT_CLOSE
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Fonction pour presser un bouton radio

#4

Message par walkson »

Une autre méthode
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
GUICreate("", 225, 80)
$un = GUICtrlCreateRadio("touche 1", 10, 50, 65, 25)
$deux = GUICtrlCreateRadio("touche 2", 80, 50, 65, 25)
$trois = GUICtrlCreateRadio("touche 3", 150, 50, 65, 25)
HotKeySet("{NUMPAD1}", "un")
HotKeySet("{NUMPAD2}", "deux")
HotKeySet("{NUMPAD3}", "trois")
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
Func un()
GUICtrlSendMsg($un, $BM_CLICK , 1, 0)
EndFunc
Func deux()
GUICtrlSendMsg($deux, $BM_CLICK , 1, 0)
EndFunc
Func trois()
GUICtrlSendMsg($trois, $BM_CLICK , 1, 0)
EndFunc
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Fonction pour presser un bouton radio

#5

Message par mikell »

@walkson
Personnellement je ne recommanderais pas la méthode HotkeySet sur une touche, parce qu'elle accapare cette touche ce que ne font pas _IsPressed et les accélérators
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
littlechiki
Niveau 3
Niveau 3
Messages : 48
Enregistré le : sam. 13 avr. 2019 13:58
Status : Hors ligne

Re: Fonction pour presser un bouton radio

#6

Message par littlechiki »

Merci à tous pour vos réponses ! avec ça, j'ai plein de façons de m'en sortir ! Merci merci !
Répondre