Fonctions de base : ListBox

Signaler
Messages postés
241
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
31 mai 2021
-
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
-
Bonjour!
Apres avoir farfouiller dans les posts du site, impossible de trouver comment utiliser une listbox simplement... ( c est vous dire que je suis vraiment nul :\ )
donc si qqun pouvait m explliquer comment ajouter une ligne , en supprimer une, selectionner une ligne a partir de son index....
ce serait super!
Merci d avance!

tOKi127 :big)

9 réponses

Messages postés
241
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
31 mai 2021

J avance petit a petit...
Je precise que c est pour MS Visual C++
Voila ce que j essaie de faire:

SendMessage(x,LB_ADDSTRING,(LPARAM) (LPCTSTR)texte);
est ce que je peux y arriver comme ca?
et si oui comment connaitre x : le handle de notre listbox?
voila merci!
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
M'a l'air mystique ton affaire.
SendMessage prend 4 params, le mieux pour debuter est de faire avec Petzold:
http://brunews.free.fr/brunews/download/CP5.zip
http://brunews.free.fr/brunews/download/CP5Sources.zip

Ne pas oublier de consulter MSDN.

ciao...
BruNews, MVP VC++
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
Il y a X exemple de listbox sur le site... regarde la source http://www.cppfrance.com/code.aspx?ID=19039, c'est assez clair je crois:
...
char* szRes = new char[strlen(szFile) + 20];
sprintf(szRes, "%s (Offset:%u)", szFile, dwOffset);
SendMessage(GetDlgItem(hDlg, IDC_LIST), LB_ADDSTRING, 0, (LPARAM)szRes);
delete[] szRes;
...


Et regarde aussi http://msdn.microsoft.com/...

A+, Malik7934
Messages postés
241
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
31 mai 2021

Merci de vos réponses mais le pb vient de 2 choses je pense :
- je suis pas forcément bon :)
- il s agit d un projet MFC avec visual c++
et je sais bien kil y a 4 parametres normalement mais avec MFC il en demande que 3...
sinon autre question : comment recupérer ton "hDlg" Malik ?
packe (avec Visual C++ impossible de trouver les handles...)
encore merci

tOKi127 :big)
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
toki127> avec VC++ on a tous les handle que l'on veut et l'on ecrit aussi bien du C, du C++ ou MFC.
Ton prob c'est MFC, regarde GetSafeHwnd() ou un truc de ce genre.

ciao...
BruNews, MVP VC++
Messages postés
241
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
31 mai 2021

oui BruNews je sais bien qu on a tous les handle mais mon pb c est juste de voir ou ils sont ecris (dans le projet MFC) pour avoir leur petit nom...
J ai pas compris ce que tu voulais dire avec GetSafeHwnd()
Je commence a craquer la :-)
encore merci de ta patience...

tOKi127 :big)
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Je preconise que tu apprennes d'abord la prog Windows par API originale, tu verras ensuite avec MFC si besoin.
Sers toi de Petzold.

ciao...
BruNews, MVP VC++
Messages postés
241
Date d'inscription
dimanche 18 janvier 2009
Statut
Membre
Dernière intervention
31 mai 2021

ok merci...
le pb est pas les API ou quoique ce soit, c est juste savoir quel est le nom de ce fichu hwnd... je laisse tomber pour aujourd hui
encore merci ++
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
Le hdlg est dans une structure au début du code...

// structure utilisée pour rassembler les
// données nécessaires pour lancer le nouveau processus
struct THREADSTRUCT
{
HWND hDlg;
char* szTextToFind;
char* szDirName;
BOOL bRecursive;
};

Si t'as pas le temps d'en perdre sur msdn, dépouille l'exemple, il y a toutes les infos qu'il faut à mon avis!