COMBOBOX

Signaler
Messages postés
55
Date d'inscription
dimanche 13 mai 2007
Statut
Membre
Dernière intervention
10 août 2007
-
Messages postés
55
Date d'inscription
dimanche 13 mai 2007
Statut
Membre
Dernière intervention
10 août 2007
-
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

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
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++
Messages postés
55
Date d'inscription
dimanche 13 mai 2007
Statut
Membre
Dernière intervention
10 août 2007

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
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
SendMessage(TriOrderBox, CB_SETCURSEL, 0, 0);
return TriOrderBox;

ciao...
BruNews, MVP VC++
Messages postés
55
Date d'inscription
dimanche 13 mai 2007
Statut
Membre
Dernière intervention
10 août 2007

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;

}
Messages postés
55
Date d'inscription
dimanche 13 mai 2007
Statut
Membre
Dernière intervention
10 août 2007

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 ?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Mis plus haut, CB_SETCURSEL.

ciao...
BruNews, MVP VC++
Messages postés
55
Date d'inscription
dimanche 13 mai 2007
Statut
Membre
Dernière intervention
10 août 2007

<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.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
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++
Messages postés
55
Date d'inscription
dimanche 13 mai 2007
Statut
Membre
Dernière intervention
10 août 2007

Ah, OK.

Merci de ton aide.