IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Récupérer le choix de l'utilisateur à partir d'une liste déroulante


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Par défaut Récupérer le choix de l'utilisateur à partir d'une liste déroulante
    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 !

  2. #2
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    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.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Par défaut
    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...
    error C2039: 'GetText'*: n'est pas membre de 'CComboBox'
    Voici le code que j'ai écrit :
    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);
    Une idée pour faire tourner mon programme ?
    Merci !

  4. #4
    Membre chevronné Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Par défaut
    Comme tu utilises une CComboBox, il faut utiliser la fonction GetLBText(), GetText(), c'est pour les CListBox

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 32
    Par défaut
    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 :
    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");
     
    		}
    Le compilo n'est pas content et me fait sortir 3 erreurs que j'arrive pas à corriger, les voilà :
    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
    Quelqu'un pour m'éclaircir les lanternes ?
    Merci.

  6. #6
    Membre chevronné Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(chaine1 == "ma chaine")
    else if(chaine1 == "autre chaine")
    else 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()

    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)

  7. #7
    Membre éprouvé
    Avatar de TheGzD
    Homme Profil pro
    Ingénieur/ Docteur en Informatique
    Inscrit en
    Avril 2007
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur/ Docteur en Informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 327
    Par défaut
    Quelqu'un pour m'éclaircir les lanternes ?
    error C2450: expression de switch de type 'CString' non conforme
    c'est pourtant clair, non ? => voir doc de l'instruction switch dans la MSDN ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. récupérer une valeur a partir d'une liste déroulante
    Par bilou69 dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 01/01/2010, 18h54
  2. Réponses: 6
    Dernier message: 08/09/2009, 14h35
  3. Choix à partir d'une liste déroulante
    Par amesnaou dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/04/2009, 10h43
  4. [MySQL] Comment récupérer un champ sélectionné à partir d'une liste déroulante?
    Par biba2386 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/05/2008, 14h21
  5. Requête avec choix d'un champ à partir d'une liste déroulante
    Par Worms6969 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/03/2008, 14h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo