Combox Box

Signaler
Messages postés
16
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
4 mai 2007
-
Messages postés
3
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
3 décembre 2009
-
  Bonjour, je désir remplir une combo box (listes déroulantes) avec une variable que j'ai créé.
Quand dans une edit control je met 6 je veu que dans ma combo box il y est les chiffres de 1 à 6 selectionnables .
En fait je veux que ma variable ajoutée à l'edit box remplisse aussi la liste déroulante .
Merci d'avance .

9 réponses

Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Voici le résonnement :

1- Tu recuperes le contenu de ton edit : GetDlgItemText(....)
2- Tuu converties en entier : i = atoi(...)
3- Tu boucles de 1 à i et, et à chaque cycle de boucle tu envoies te le message CB_ADDSTRING a l'aide de l'API SendMessage(...). Tu convertiras au préalable la valeur de i en char * a l'aide de itoa(...).

Shell
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
tu peux sinon ajouter une variable membre liée à ton edit box de type unsigned int (pas besoin des négatifs et sinon attentions aux tests)
et ajouter une variable membre de type CComboBox, Control.

ensuite tu crées une fonction onChange on un truc comme ca qui est appelée à chaque fois que tu modifie ton editbox.
dans cette fonction tu commences par vider ta combobox avec une fonction reset qqchse je crois. ensuite tu fais une boucle qui part de 1 à la valeur de ta variable unsigned int et tu fais m_cbMyComboVar.AddString(*la correspondance en CString de ton int*);

et c'est tout bon. ne pas oublier les UpdateData(); si ca ne récup pas la valeur de l'editbox.

bon courage.

Loki
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
8
1+2 avec GetDlgItemInt, c'est fait pour ca

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
2671
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Tout a fait vecchio tu fais bien de le faire remarquer car on y pense pas forcement.

Shell
Messages postés
16
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
4 mai 2007

Merci pour vos info mais j'ai encore des problèmes ...

le type de boucles est il celui-ci ? :
for

(
int i=0;i < pmyComboBox->GetCount();i++){

if (pmyComboBox->GetItemData(i) == 0)
   
{

pmyComboBox->SetItemData(i, (DWORD) 0);

   }
}

???
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
ca dépend, tu veux faire quoi exactement avec cette boucle ?

Loki
Messages postés
16
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
4 mai 2007

this
->UpdateData();


this
->GetDlgItemInt(m_nbrunDlg);




for



(

int
i=0;i < pmyComboBox->GetCount();i++){


if
(pmyComboBox->GetItemData(i) == 0){

pmyComboBox->SendMessage(CB_ADDSTRING,NULL,NULL);





}


}


}

avec cette boucle dans le gestionnaire d'évenement de mon edit je veu retourner l valeur de mon edit dans le combobox
ex: 1 dans l'édit = 1 et 2 et 3 et 4 et 5 et 6 dans mon combo

Merci
Messages postés
286
Date d'inscription
dimanche 27 novembre 2005
Statut
Membre
Dernière intervention
27 décembre 2009
2
tu ne voulais pas avoir autant de choix dans ta combobox que c que tu avais spécifié dans ton edit ?
dans ce cas, il faut mettre à jour le Count de ta combo avant tout. mais je suis pas sur que ca soit une bonne technique.

j'ai fais un truc équivalent dans un projet et j'ai fais comme ceci :

- tu récupères le nombre entré dans l'edit.
- tu vires tout ce qu'il y avait au préalable dans la combobox avec ResetContent();
- tu fais une boucle for pour ajouter les choix de la combobox avec : AddString();

Loki
Messages postés
3
Date d'inscription
jeudi 12 mars 2009
Statut
Membre
Dernière intervention
3 décembre 2009

salut ts m
j'ai un probleme
je cherche a charger le contenue combobox par les enregistrement d'un chams(nbf) d'une Table1