RadioButton

Résolu
cs_maju
Messages postés
16
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
25 août 2005
- 7 juil. 2005 à 11:30
cs_maju
Messages postés
16
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
25 août 2005
- 7 juil. 2005 à 16:29
Bonjour,

Je suis plus une grande debutante en C++.

Je doit creer une interface windows(en Visual C++) composee de 32 radiobutton, j aimerai recuperer dans une variable la valeur du bouton selectionne , helas je ne sais absolument pas comment proceder.

La seule solution que je vois est la suivante:


Code:
,
----

if (nResponse == ICD_RADIO1)
{ myVal=1;
}

else if (nResponse == ICD_RADIO2)
{
myVal=2
}
...

Ce qui est helas ingerable avec un nombre important de boutons.

Merci d avance

6 réponses

magic_Nono
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
7 juil. 2005 à 14:11
Le classwizard permet de te retrouner quelle option est sélectionnée (parmi tes 32)





1 - sur le premier bouton: propriété - groupe

au passage, vérifie bien que tu les as bien créé dans l'ordre

(sinon change : CTRL D)

2 - CTRL+W - 2e onglet - sélectionne le bouton 1 (le mm que à l'étape 1)

et associe lui une var membre (un int) , on l'appelera m_iChoix



3 - puis ds ton code

avt de l'utiliser "UpdateData(true)"





ce qui donne :







UpdateData(true);
switch(m_iChoix)

{

case 0 : //choix A

//code du choix A

break;


case 1 : //choix B

//code du choix B

break;


case 2 : //choix C

//code du choix C

break;

...

default:

//erreur

}





voilu

C tt simple
___________________________________________________________
Magicalement
Nono
3
boun85
Messages postés
33
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
29 novembre 2005

7 juil. 2005 à 11:47
Tu peu faire :

switch(nReponse)

{

case ICD_RADIO1 : myVal = 1; break;

case ICD_RADIO2 : myVal = 2; break;

case ...

default : myVal = 0; break;

}

c'est un peu moin long mais doit suremen y avoir plus simple
0
BunoCS
Messages postés
15256
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
17 mai 2022
103
7 juil. 2005 à 11:51
Y'a plus simple, effectivement:



_Button = GetCheckedRadioButton(IDC_RADIO_0, IDC_RADIO_10);



Avec ça, j'ai l'ID (compris entre IDC_RADIO_0 et IDC_RADIO_10) du bouton radio sélectionné...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
0
cs_maju
Messages postés
16
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
25 août 2005

7 juil. 2005 à 12:07
Merci beaucoup pour vos reponses rapides, je pense que je vais rester sur la premiere solution , car vu mon niveau en C++, je ne comprend pas la seconde(pas assez detaillee pour moi, Sorry....)

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BunoCS
Messages postés
15256
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
17 mai 2022
103
7 juil. 2005 à 13:33
Bah...euh...

La fonction que je t'ai donné dois faire elle-même le long test que tu
te prépare à faire: passer en revue les boutons radio pour savoir
lequel est coché.



Il suffit de passer le plus petit identifiant de tes boutons (ici, mon
IDC_RADIO_0) et le plus grand (ici, mon IDC_RADIO_10) et la fonction te
donne l'identifiant du bouton coché.

C'est-y pas "magique"

Ceci dit, tu fais comme tu veux...
Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
0
cs_maju
Messages postés
16
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
25 août 2005

7 juil. 2005 à 16:29
Merci encore, reponses parfaites, je vais (enfn!) m en sortir avec ca.

En attendant le jour ou ce sera moi qui repondrai a vos questions.....
0