Bonjour, donc j'ai deux combobox que j'ai crée comme ceci:
HWND hGroup=CreateWindow(
TEXT("BUTTON"),
TEXT("Premier paramètre"),
WS_CHILD|WS_VISIBLE|BS_GROUPBOX,
10,10,
200,100,
fenetrePrincipale,
NULL,
instance,
NULL);
{
hComboBox1=CreateWindow(
TEXT("COMBOBOX"),
TEXT(""),
WS_CHILD|WS_VISIBLE|CBS_DISABLENOSCROLL|CBS_DROPDOWNLIST,
20,40,
180,150,
fenetrePrincipale,
(HMENU)ID_COMBOBOX_1,
instance,
NULL);
//Remplissage
SendMessage(hComboBox1, CB_ADDSTRING, 0, (LONG)TEXT("plop"));
SendMessage(hComboBox1, CB_ADDSTRING, 0, (LONG)TEXT("plop2"));
SendMessage(hComboBox1, CB_ADDSTRING, 0, (LONG)TEXT("flop"));
SendMessage(hComboBox1, CB_ADDSTRING, 0, (LONG)TEXT("tlop"));
SendMessage(hComboBox1, CB_ADDSTRING, 0, (LONG)TEXT("plip"));
combo1_2 = CreateWindow(TEXT("COMBOBOX"),
TEXT(""), WS_CHILD|WS_VISIBLE|CBS_DISABLENOSCROLL|CBS_DROPDOWNLIST,
20,80,150,200,
fenetrePrincipale,
0,
instance, NULL);
}
Selon la selection que je veux ou non j'affiche la combobox n°2. Puis je rajoute le texte dans la combo box selon le choix de l'utilisateur. Le texte de la deuxieme combobox est récupéré dans la bd à l'aide de la fonction Recup().
switch (mes)
{
case WM_CREATE:
RemplieFenetrePrincipale(hWnd);
return 0;
case WM_COMMAND:
if(HIWORD(wParam)==CBN_SELENDOK)
{
element = SendMessage(hComboBox1, CB_GETCURSEL, 0,0);
if (element < 3) {
//Si on selectionne une chaine, un entier ou un bool on affiche l'edit box sinon on affiche la combo
ShowWindow(editbox,SW_SHOW);
ShowWindow(combo1_2, SW_HIDE);
}
else {
ShowWindow(combo1_2,SW_SHOW);
ShowWindow(editbox, SW_HIDE);
}
//On récupére les valeur de la deuxieme combo
Recup(bRet,MonString,RetTaille,hWnd,hComboBox1,combo1_2 );
[...suite du code]
Lorsque je lance mon bordel, l'affichage est ok, (mais le texte en gras, comment je peux le changer d'ailleur?) mais je ne peux pas selectionner un item dans la deuxieme combobox, le choix est automatiquement refusé. Savez vous pourquoi?
Merci