Combo box api win 32

Résolu
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 - 16 nov. 2006 à 08:38
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 - 16 nov. 2006 à 13:15
Bonjour, je tente de faire fonctionner une combox mais je n'y parviens pas...
Voici comment je procède :
j'ai une variable globale UINT Jour
j'initialise Jour = ID_J1 (correspond au premier jour)
ensuite dans la fonction de ma boite de dialogue
case WM_INITDIALOG:
SendDlgItemMessage(hdlg, IDC_CJOUR, CB_ADDSTRING, 0, (LONG)"1");
SendDlgItemMessage(hdlg, IDC_CJOUR, CB_ADDSTRING, 0, (LONG)"2");
SendDlgItemMessage(hdlg, IDC_CJOUR, CB_ADDSTRING, 0, (LONG)"3");
SendDlgItemMessage(hdlg, IDC_CJOUR, CB_ADDSTRING, 0, (LONG)"4");
SendDlgItemMessage(hdlg, IDC_CJOUR, CB_ADDSTRING, 0, (LONG)"5");
SendDlgItemMessage(hdlg, IDC_CJOUR, CB_ADDSTRING, 0, (LONG)"6");
SendDlgItemMessage(hdlg, IDC_CJOUR, CB_SETCURSEL, Jour, 0);



qu'est ce que j'ai oublié de faire -> sachant qu'en fait il ne m'affiche que la première valeur?

merci de votre aide

18 réponses

cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 nov. 2006 à 10:09
oui transforme 12 en 120 et tu verras ta liste. 12 pixels doit être la hauter de la fonte donc d'une ligne

louis14
3
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 nov. 2006 à 12:02
ce que j'ai remarqué, c'est qu'en mettant une hauteur plus grande que nécessaire, il y a en premier lieu une adaptation de la hauteru , car le paramètre est la hauteur maximale et non la hauteur définitive si la liste est plus petite

louis14
3
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 nov. 2006 à 08:55
je ne vois de suite, mais lorsque je programme sous VC++, dans l'éditeur de la boite de dialogue, je dimensionne la combobox mais aussi la dropdown window ( si je ne le fait pas, je ne vois que la première donnée comme toi). je ne sais pas s'il y a un message pour cela, mais je pense qu'il voir de ce côté là. je viens de chercher le message, il s'agit de CB_ SETDROPPEDWIDTH .

Bonne conitnuation
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
16 nov. 2006 à 09:08
Oui c bon çà je l'ai configuré aussi
quand j'ai créer ma boite dialogue j'ai choisi l'option DROPDOWN
0

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

Posez votre question
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
16 nov. 2006 à 09:22
étant donner que je n'arrive pas à ajouter mon code source si tu vex je te le passe par mail
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 nov. 2006 à 09:26
il n'y a pas que l'option dropdown mais il faut envoyer le message pour donner la dimension max de la fenêtre dropdown. Fais une recherche sur internet  pour voir le paramètre à passer.

louis14
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
16 nov. 2006 à 09:32
http://chgi.developpez.com/windows/combobox/
Voilà le lien dont je me sert pour tenter d'élaborer ma combox et je ne vois aps de set..
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 nov. 2006 à 09:54
je viens de modifier une combobox dans vc++  et j'ai édité le fichier RC. dans les dimensions de la combobox c'est le dernier paramètre qui conditionne la hauteur de la dropdown window.
CB_COMBOBOX_XXX,64,28,95,40.....=> ici 40 est la hauteur  donc modifie ce paramètre

louis14
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
16 nov. 2006 à 10:05
Voilà ce que j'ai :
COMBOBOX IDC_CJOUR,85,34,41,12,CBS_DROPDOWN | CBS_SORT |
WS_VSCROLL | WS_TABSTOP
Donc si je comprend il faut que je change le 12
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
16 nov. 2006 à 10:16
merci beaucoup de ton temps louis 14


bonne journée et bonne prog
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
16 nov. 2006 à 10:21
a oui mais si je veux quelle soit à une taille = à celle de mon tableau dynamique cette solution ne fonctionne plus
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 nov. 2006 à 10:29
il faut se fixer une limite sinon tu vas dépasser ton écran. Si le tableau est assez petit, compte 12 pour un élément et multiplie par le nombre d'éléments et fixe la taille par le message CB_SETDROPDOWNWIDTH

Bonne journée

louis14
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
16 nov. 2006 à 11:02
Salut,

CB_SETDROPDOWNWIDTH c'est pas pour la largeur ça et non la hauteur ???

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
16 nov. 2006 à 11:09
fais une recherche sur internet(MSDN)  et tu verras .

louis14
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
16 nov. 2006 à 11:29
J'ai beau cherché mais je trouve pas sur la msdn !
Avec google, j'ai juste trouvé un sujet d'un forum qui confirme ce que je pensais !
En plus width en anglais ça signifie largeur ! Ca veut tout dire.

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
16 nov. 2006 à 11:50
pas de panique je vais d'abord tenter de changer le 12 et je verrai bien mais l'instant je peux pas tester

++ et merci encore
0
lafolle24320 Messages postés 406 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 29 juin 2009 7
16 nov. 2006 à 12:19
ok je vais faire çà
merci encore
0
yoyo269 Messages postés 1403 Date d'inscription lundi 23 février 2004 Statut Membre Dernière intervention 11 janvier 2009 2
16 nov. 2006 à 13:15
C'est exactement ça louis14 !
Pour augmenter la taille de la liste à l'affichage, il faut augmenter la hauteur de ta combobox à la création directement (c'est plus simple).

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
0
Rejoignez-nous