Combobox

[Résolu]
Signaler
Messages postés
4
Date d'inscription
vendredi 1 juillet 2005
Statut
Membre
Dernière intervention
24 septembre 2007
-
Messages postés
4
Date d'inscription
vendredi 1 juillet 2005
Statut
Membre
Dernière intervention
24 septembre 2007
-
Bonjour à tous,
j'ai un petit souci avec les combobox, dont je suis sûr vous n'aurez aucun mal à résoudre.

Je déclare ma combobox comme suit :

edit_port_com = CreateWindow("COMBOBOX",
                "", WS_CHILD | WS_VISIBLE | WS_BORDER | CBS_DROPDOWNLIST,
                230,550,40,20,
                hwnd,
                0,
                hInst, NULL);

Et j'ajoute des chaines dans cette derniere et l'affiche avec ces fonctions :

SendMessage(edit_port_com, CB_ADDSTRING, 0,(LPARAM)port);
element = SendMessage(edit_port_com, CB_GETCOUNT, 0, 0);
SendMessage(edit_port_com,CB_SETCURSEL,(WPARAM)element-1,0);

Voici donc mon problème : à chaque fois que j'ajoute un nouvel élément dans la combobox, il n'y a que ce dernier que je peux voir.

merci d'avance pour votre aide.
A bientôt.

3 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Sur certaines versions de Windows, comme 2000, le combobox doit avoir la hauteur suffisante pour pouvoir afficher tous les éléments. Augmente donc la hauteur de ton combobox en faisant par exemple:
edit_port_com = CreateWindow("COMBOBOX",
                "", WS_CHILD | WS_VISIBLE | WS_BORDER | CBS_DROPDOWNLIST,
                230,550,40,100,
                hwnd,
                0,
                hInst, NULL);
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Autre truc, sélection du nouvel élem en plus court:
SendMessage(edit_port_com,CB_SETCURSEL,
  SendMessage(edit_port_com, CB_ADDSTRING, 0,(LPARAM)port),0);

ciao...
BruNews, MVP VC++
Messages postés
4
Date d'inscription
vendredi 1 juillet 2005
Statut
Membre
Dernière intervention
24 septembre 2007

Merci à toi racpp, il fallait bien augmenter la taille de la combobox.