Listbox

deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 15 mars 2006 à 17:46
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 15 mars 2006 à 19:38
Bonjour a tous,

Voila, j'ai un petit problème. J'ai une listbox dans laquelle s'affiche tous les fichiers contenu dans un dossier. Et je voudrait faire en sorte que lorsque l'on clique sur un , celui-ci s'ouvre. Pour ce faire j'ai besoin de récupérer l'élément sélectionné. je fait donc :
SendMessage(hwFileList,LB_GETSEL,0,(long)szTextSel); mais voila, j'ai toujours le 1er élément de la liste et pas moyen de sélectionner un autre.

Quelqun peut-il m'aider svp?

Merci d'avance.

4 réponses

cs_Xaviou Messages postés 154 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 2 octobre 2009 1
15 mars 2006 à 18:45
En fait, LB_GETSEL te dit si l'élément dont l'index est passé par WPARAM est sélectionné ou non.
Pour obtenir l'élément qui est sélectionné, il faut utiliser la méthode suivante:

// Récupérer l'index de l'élément sélectionné
int index=SendMessage(hwFileList,LB_GETCURSEL,0,0);
if (index!=LB_ERR)
{
// Si la sélection est OK
SendMessage(hwFileList,LB_GETTEXT,(WPARAM)index,(LPARAM)szTextSel);
}

Il faut également s'assurer que szTextSel soit de taille suffisante pour accueillir le text:
int iTxtLEngth=SendMessage(hwFileList,LB_GETTEXTLEN,(WPARAM)index,0);
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
15 mars 2006 à 19:33
arf



if(HIWORD(wParam)==LBN_DBLCLK){


int iIndexLB;





iIndexLB=SendMessage(hwFileList,LB_GETSEL,0,0);

SendMessage(hwFileList,LB_GETTEXT,(long)iIndexLB,(long)szText);


MessageBox(hwnd,szText,"yop",MB_OK);


}



Cela ne marche tjrs pas, il me trouve tjrs le même :s
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
15 mars 2006 à 19:34
le problème est dans la récupération de l'index car si je me (long)3 ca me prend bien le 3ième item.
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
15 mars 2006 à 19:38
distret, LB_GETSEL a la place de LB_GETCURSEL.



fausse alerte ;)
0
Rejoignez-nous