Combox Box

IH2MCBETA Messages postés 16 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 4 mai 2007 - 23 avril 2007 à 10:32
kmazri Messages postés 3 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 3 décembre 2009 - 3 déc. 2009 à 17:26
  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

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
23 avril 2007 à 11:36
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
0
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
23 avril 2007 à 17:37
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
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
23 avril 2007 à 20:23
1+2 avec GetDlgItemInt, c'est fait pour ca

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
24 avril 2007 à 10:02
Tout a fait vecchio tu fais bien de le faire remarquer car on y pense pas forcement.

Shell
0

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

Posez votre question
IH2MCBETA Messages postés 16 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 4 mai 2007
24 avril 2007 à 15:59
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);

   }
}

???
0
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
24 avril 2007 à 16:05
ca dépend, tu veux faire quoi exactement avec cette boucle ?

Loki
0
IH2MCBETA Messages postés 16 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 4 mai 2007
24 avril 2007 à 16:42
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
0
Loki6 Messages postés 286 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 27 décembre 2009 2
24 avril 2007 à 17:07
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
0
kmazri Messages postés 3 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 17:26
salut ts m
j'ai un probleme
je cherche a charger le contenue combobox par les enregistrement d'un chams(nbf) d'une Table1
0
Rejoignez-nous