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?
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
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 .
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.
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
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
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 !"
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 !"