Listview

[Résolu]
Signaler
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
-
Messages postés
140
Date d'inscription
samedi 1 novembre 2003
Statut
Membre
Dernière intervention
30 septembre 2009
-
Yop,

Voila c'est p-e un bête truc , mais lorsque je rempli une listview,  elle se remplit dans l'ordre décroissant (du nouveau item au plus ancien) hors en faite ce que je voudrai c'est l'inverse (que le dernier item ajouté sois en faite, le dernier dans la liste). Il y à t-il un moyen simple? voici comment je remplit une listview :

            lviItem.mask = LVIF_TEXT;
           
            lviItem.iItem = 0;
            lviItem.iSubItem = 0;
            lviItem.pszText = szLink;
           
            iCount = ListView_InsertItem(hwList,&lviItem);
           
            itoa(iLigne,szLink,10);
           
            lviItem.iItem = iCount;
            lviItem.iSubItem = 1;
            lviItem.pszText = szLink;
           
            ListView_SetItem(hwList,&lviItem);

Faut-il y changer quelque chose ?

++
deck_bsd
___________________________________
[http://deck-bsd.eurower.net]

1 réponse

Messages postés
140
Date d'inscription
samedi 1 novembre 2003
Statut
Membre
Dernière intervention
30 septembre 2009
2
il te faut savoir en fait le nombre d'item :
int ListView_GetItemCount(HWND)
et tu fé comme ça :

            lviItem.mask = LVIF_TEXT;
           
            lviItem.iItem = ListView_GetItemCount(hwList);
            lviItem.iSubItem = 0; // en fait, on s'en fou
            lviItem.pszText = szLink;
           
            iCount = ListView_InsertItem(hwList,&lviItem);
           
            itoa(iLigne,szLink,10);
           
            lviItem.iItem = iCount;
            lviItem.iSubItem = 1;
            lviItem.pszText = szLink;
           
            ListView_SetItem(hwList,&lviItem);

Ainsi, le dernier élément ajouté sera placé à la fin de la liste...
Sinon, avec fonction :
foo(char* t)
{
    static int rang=0;
    LV_ITEM lvi;
    lvi.mask       = LVIF_TEXT;  
    lvi.iItem      = rang++;
    lvi.iSubItem   = 0;
    lvi.pszText    = t;
    ListView_InsertItem(liste, &lvi);
}