Bonjour,
J'ai une petite question : j'ai une liste déroulante avec plusieurs choix et je veux appliquer un traitement. Le problème est que je ne sais pas comment récupérer le choix de l'utilisateur. J'ai beau chercher mais en vain
Merci par avance !
Bonjour,
J'ai une petite question : j'ai une liste déroulante avec plusieurs choix et je veux appliquer un traitement. Le problème est que je ne sais pas comment récupérer le choix de l'utilisateur. J'ai beau chercher mais en vain
Merci par avance !
Regarde la MSDN pour ta liste déroulante, il y a une poignée de fonctions et il te sera aisé de trouver celle dont tu as besoin.
Merci The GzD de ta réponse.
J'ai essayé de récupérer la valeur choisie avec GetCurSel, j'ai écrit du code mais j'ai une erreur que j'arrive pas à corriger...
Voici le code que j'ai écrit :error C2039: 'GetText'*: n'est pas membre de 'CComboBox'
Une idée pour faire tourner mon programme ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int index; CString strTextAffich; index = m_listeDeroulante.GetCurSel(); m_listeDeroulante.GetText(index,strTextAffich); MessageBox(strTextAffich);
Merci !
Comme tu utilises une CComboBox, il faut utiliser la fonction GetLBText(), GetText(), c'est pour les CListBox
Bonjour Jenna et merci de ta réponse.
J'ai remplacé GetText par GetLBText et ai testé la valeur saisie par l'utilisateur et suivant cette valeur, j'ai fait des instructions.
Mon code est :
Le compilo n'est pas content et me fait sortir 3 erreurs que j'arrive pas à corriger, les voilà :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 int index; CString strTextAffich; index = m_listeDeroulante.GetCurSel(); m_listeDeroulante.GetLBText(index,strTextAffich); int l_NoiseValue = 0; switch(strTextAffich) { case 'Numeric' : l_coVar = m_gadp.AddNoise(l_NoiseValue); break; case 'Textual' : l_coVar = m_categData.AddCharac(l_NoiseValue); break; case 'GADP' : l_coVar = m_gadp.calCovariance(); break; default : MessageBox("Veuillez effectuer un choix de la liste"); }
Quelqu'un pour m'éclaircir les lanternes ?error C2450: expression de switch de type 'CString' non conforme
error C2015: trop de caractères dans la constante
error C2196: la valeur associée à case '0' est déjà utilisée
Merci.
Quelques remarques dans ton code.
Tu ne peux pas faire un switch(chaine de caractères ou string), c'est interdit en C. Tu dois le faire avec if
l'operation == permet de tester des string (CString, std::string, ...) mais pas des chaines de caractères, il faudrait alors passer par la fonction strcmp()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if(chaine1 == "ma chaine") else if(chaine1 == "autre chaine") else if ...
une chaine de caractères se note avec des double quotes, un caractère se note avec des simples quotes. Il est interdit en C d'écrire une chaine de caractères avec des simple quotes ('Numeric' par exemple)
Quelqu'un pour m'éclaircir les lanternes ?c'est pourtant clair, non ? => voir doc de l'instruction switch dans la MSDN ...error C2450: expression de switch de type 'CString' non conforme
Partager