COMBOBOX

Ilmen_ Messages postés 55 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 10 août 2007 - 16 mai 2007 à 20:18
Ilmen_ Messages postés 55 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 10 août 2007 - 20 mai 2007 à 18:40
Alors voilà, j'ai un problème avec les COMBOBOX du programme que je suis en train d'écrire.\n
Le contenu de mes SendMessage() ne s'affichent pas… :/
\n\n

HWND TriOrderBox;
HWND TriOrder (HWND hWnd)
{
HWND TriOrderBox=CreateWindow(
"COMBOBOX",
"",
WS_CHILD|WS_VISIBLE|CBS_DISABLENOSCROLL|CBS_DROPDOWNLIST,
500, 105, 90, 20, hWnd, (HMENU)ID_COMBOBOX_1, instance, NULL);
SendMessage (TriOrderBox, CB_ADDSTRING, 0, (LPARAM)"Min -> Max");
SendMessage (TriOrderBox, CB_ADDSTRING, 0, (LPARAM)"Max -> Min");
return TriOrderBox;
}

9 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 mai 2007 à 20:59
Ton message remis en forme:


Alors voilà, j'ai un problème avec les COMBOBOX du programme que je suis en train d'écrire.
Le contenu de mes SendMessage() ne s'affiche pas.
HWND TriOrderBox;
HWND TriOrder(HWND hWnd)
{
  HWND TriOrderBox = CreateWindow("COMBOBOX","",
    WS_CHILD|WS_VISIBLE|CBS_DISABLENOSCROLL|CBS_DROPDOWNLIST,
    500, 105, 90, 20, hWnd, (HMENU)ID_COMBOBOX_1, instance, NULL);
  SendMessage(TriOrderBox, CB_ADDSTRING, 0, (LPARAM)"Min -> Max");
  SendMessage(TriOrderBox, CB_ADDSTRING, 0, (LPARAM)"Max -> Min");
  return TriOrderBox;
}

ciao...
BruNews, MVP VC++
0
Ilmen_ Messages postés 55 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 10 août 2007
16 mai 2007 à 21:09
Merci bien, mais il était en forme, avant que je l'envoie... Et les retours chariots et les caractères comme le trois petits points [ASCII : 85] on disparus... Je doit écrire en HTML ?? oO
Test : Texte
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
16 mai 2007 à 21:22
SendMessage(TriOrderBox, CB_SETCURSEL, 0, 0);
return TriOrderBox;

ciao...
BruNews, MVP VC++
0
Ilmen_ Messages postés 55 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 10 août 2007
16 mai 2007 à 23:36
C'est bon, j'ai réglé le problème. En réalité, les dimensions de ma COMBOBOX étaient trop réduites. xD
Ce qui nous donne :

HWND TriOrderBox;

HWND TriOrder (HWND hWnd)

{

HWND TriOrderBox=CreateWindow(

"COMBOBOX",

"",

WS_CHILD|WS_VISIBLE|CBS_DISABLENOSCROLL|CBS_DROPDOWNLIST,

490, 105, 100, 120, hWnd,
(HMENU)ID_COMBOBOX_1, instance, NULL);

SendMessage (TriOrderBox, CB_ADDSTRING, 0, (LPARAM)"Min -> Max");

SendMessage (TriOrderBox, CB_ADDSTRING, 0, (LPARAM)"Max -> Min");

return TriOrderBox;

}
0

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

Posez votre question
Ilmen_ Messages postés 55 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 10 août 2007
18 mai 2007 à 13:16
Sinon, j'ai un autre petit problème : je ne sais pas comment mettre l'option "Min -> Max" par défaut, c'est-à-dire qu'elle apparaisse sur la combobox dès l'ouverture du programme, à la place d'un champ blanc.

Comment faut-il faire ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 mai 2007 à 17:20
Mis plus haut, CB_SETCURSEL.

ciao...
BruNews, MVP VC++
0
Ilmen_ Messages postés 55 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 10 août 2007
19 mai 2007 à 23:13
<tt>
HWND TriOrderBox;

HWND TriOrder (HWND hWnd)

{

HWND TriOrderBox=CreateWindow(

"COMBOBOX",

"",

WS_CHILD|WS_VISIBLE|CBS_DISABLENOSCROLL|CBS_DROPDOWNLIST,

490, 105, 100, 120, hWnd, (HMENU)ID_COMBOBOX_1, instance, NULL);

SendMessage (TriOrderBox, CB_ADDSTRING, 0, (LPARAM)"Min -> Max");

SendMessage (TriOrderBox, CB_ADDSTRING, 0, (LPARAM)"Max -> Min");

SendMessage (TriOrderBox, CB_SETCURSEL, 0, (LPARAM)"Min -> Max");


return TriOrderBox;

}

</tt>



Merci, ça marche comme cela.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 mai 2007 à 00:18
Pas parce que ça marche que tu dois mettre nimporte quoi.
Avec CB_SETCURSEL le dernier param n'est pas lu donc inutile de passer autre chose que 0.
L'index à sélectionner est dans wParam (le 3eme) donc 0 pour sélect le 1er élément;
SendMessage(TriOrderBox, CB_SETCURSEL, 0, 0);

ciao...
BruNews, MVP VC++
0
Ilmen_ Messages postés 55 Date d'inscription dimanche 13 mai 2007 Statut Membre Dernière intervention 10 août 2007
20 mai 2007 à 18:40
Ah, OK.

Merci de ton aide.
0
Rejoignez-nous