Listview

Résolu
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 - 30 mai 2007 à 18:33
s@ldon Messages postés 140 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 septembre 2009 - 30 mai 2007 à 19:00
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

s@ldon Messages postés 140 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 septembre 2009 3
30 mai 2007 à 19:00
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);
}
3
Rejoignez-nous