OVH Cloud OVH Cloud

Problème de combobox

2 réponses
Avatar
fossar
Bonjour à tous!

J'ai un problème avec des combobox. En effet, avec un manifest
pour avoir le style XP, elles fonctionnent très bien. Mais sans le
manifest,
elles sont vides...
En fait, lorsque que la fenêtre s'affiche elles ont l'apparence
souhaitée
(premier élément séléctionné) mais lorsqu'on clique sur la petite
flèche
à droite de la CB, il n'y aucun menu qui se déroule... (enfin on voit
tout de
même une ligne de 2px de hauteur qui laisse croire que la liste est
vide,
pourtant si on donne le focus au CB et qu'on appuie sur la touche
'bas', les
éléments s'affiche dans le cadre d'édition!)


Voici le code utilisé pour créer une des combo box:
--------------------------------------------------

char mois[] = {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin",
"Juiller", "Août", "Septembre", "Octobre", "Novembre", "Décembre"};

//mois
hWndCBMois = CreateWindow("COMBOBOX", NULL,
WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,
60, 55, 125, 20, hWndBordure, NULL, hInst, NULL);
// ajout des elts
for(i=0; i<12; i++)
SendMessage(hWndCBMois, CB_ADDSTRING, 0, (LPARAM)(LPTSTR)mois[i]);

// selection du premier elt
SendMessage(hWndCBMois, CB_SETCURSEL, 0, 0);


Si quelqu'un sait comment résoudre ce problème...
Merci

--
++
Fo$$aR

2 réponses

Avatar
fossar
> char mois[] = {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin",
"Juiller", "Août", "Septembre", "Octobre", "Novembre", "Décembre"};



Une erreur s'est glissée dans le copier/coller
Evidemment, c'est char* mois[]=...

@+

--
++
Fo$$aR
Avatar
fossar
Après mure réflexion, fossar a écrit :
Bonjour à tous!

J'ai un problème avec des combobox. En effet, avec un manifest
pour avoir le style XP, elles fonctionnent très bien. Mais sans le manifest,
elles sont vides...
En fait, lorsque que la fenêtre s'affiche elles ont l'apparence souhaitée
(premier élément séléctionné) mais lorsqu'on clique sur la petite flèche
à droite de la CB, il n'y aucun menu qui se déroule... (enfin on voit tout de
même une ligne de 2px de hauteur qui laisse croire que la liste est vide,
pourtant si on donne le focus au CB et qu'on appuie sur la touche 'bas', les
éléments s'affiche dans le cadre d'édition!)


Voici le code utilisé pour créer une des combo box:
--------------------------------------------------

char mois[] = {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin",
"Juiller", "Août", "Septembre", "Octobre", "Novembre", "Décembre"};

//mois
hWndCBMois = CreateWindow("COMBOBOX", NULL,
WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,
60, 55, 125, 20, hWndBordure, NULL, hInst, NULL);
// ajout des elts
for(i=0; i<12; i++)
SendMessage(hWndCBMois, CB_ADDSTRING, 0, (LPARAM)(LPTSTR)mois[i]);

// selection du premier elt
SendMessage(hWndCBMois, CB_SETCURSEL, 0, 0);


Si quelqu'un sait comment résoudre ce problème...
Merci



Bon, c'est résolu! Je cherche pendant 3 heures et me décide enfin à
poster
sur un news group et je trouve en 5 minutes!

Il suffisait simplement de mettre une hauteur à la fenêtre supérieur à
20!

hWndCBMois = CreateWindow("COMBOBOX", NULL,
WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP,
60, 55, 125, 150, hWndBordure, NULL, hInst, NULL);

Et ça fonctionne beaucoup mieux!

--
++
Fo$$aR