Prob listview

Signaler
Messages postés
92
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
22 février 2006
-
Messages postés
92
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
22 février 2006
-
salut a tous
j'ai un prob tt con avec une listview.
Le prob est que je n'arrive pas a ajouter du texte dans les differentes colonnes. voici les bouts de code concernés :

ajout des colonnes :
LVCOLUMN colonne;
colonne.mask = LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM;

// 1ere colonne
colonne.cx = 100;
colonne.pszText = "colonne 1";
colonne.cchTextMax = 30;
colonne.iSubItem = 0;
ListView_InsertColumn(GetDlgItem(hMain, IDC_LIST), 0, &colonne);

// 2eme colonne
colonne.pszText = "colonne 2";
colonne.iSubItem = 1;
ListView_InsertColumn(GetDlgItem(hMain, IDC_LIST), 1, &colonne);


insertion ds les colonnes :

LVITEM lvi;
lvi.mask = LVIF_TEXT | LVIF_PARAM | LVIF_STATE | ;
lvi.state = 0;
lvi.iImage = 0;
lvi.cchTextMax = 30;
lvi.iItem = 0;

// 1ere colonne
lvi.iSubItem = 0;
lvi.pszText = "texte 1";
ListView_InsertItem(GetDlgItem(hMain, IDC_LIST), &lvi);
// 2eme colonne
lvi.iSubItem = 1;
lvi.pszText = "texte 2";
ListView_InsertItem(GetDlgItem(hMain, IDC_LIST), &lvi);


manque t'il qqchose qui fasse foiré l'insertion ?car l'ajout des colonnes c'est bon, pour l'ajout juste pour la 1ere colonne ca fonctionne
merci pour votre aide

6 réponses

Messages postés
103
Date d'inscription
mardi 10 octobre 2000
Statut
Membre
Dernière intervention
5 mars 2006

Apres ton InsertItem utilise ListView_SetMenuItem pour acceder aux autres colonnes...

InsertItem -> Ajoute une ligne vierge
puis SetMenuItem pour modifier les champs de la ligne vierge

Tiens moi au courant ;)

Exige beaucoup de toi-meme et attends peu des autres. Ainsi beaucoup d'ennuis te seront epargnes. >:)
Messages postés
92
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
22 février 2006

Il n'y a pas de ListView_SetMenuItem dans les macros :/
ca ne serait pas plutot ListView_SetItem ?
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Faut indiquer a listview que tu veux un item de plus et qu'il prepare la place.
SendMessage(hlst, LVM_SETITEMCOUNT, nbr, LVSICF_NOINVALIDATEALL);
ensuite tu pourras faire LVM_INSERTITEM.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
92
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
22 février 2006

BruNews est-ce que ce serait trop te demander ce qu'il faut modifier dans mon code avec ce que tu m'as indiqué car je suis en train de me battre avec tt ca
merci pour ton aide
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Va voir ma proc FilmsDansLV() dans exemple ADO films.
Tu adaptes a tes besoins mais tout y est.

ciao...
BruNews, Admin CS, MVP Visual C++
Messages postés
92
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
22 février 2006

et bé j'etai bien loin de la solution en effet
merci BruNews ;)