ListView et icones

glipper Messages postés 246 Date d'inscription dimanche 2 juin 2002 Statut Membre Dernière intervention 11 septembre 2016 - 2 juil. 2003 à 20:48
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 - 3 juil. 2003 à 09:22
Bonjour,
J'ai initialisé une ListView comme ceci (on remarquera que je charge trois icones à chaque fois):

HBITMAP hbmp;
HIMAGELIST himlSmall,himlLarge;
himlSmall = ImageList_Create(16, 16, ILC_COLORDDB | ILC_MASK, 3, 0);
himlLarge = ImageList_Create(32, 32, ILC_COLORDDB | ILC_MASK, 3, 0);

hbmp = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_LIST16));
int Rep = ImageList_Add(himlSmall, hbmp, 0);
DeleteObject(hbmp);

hbmp = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_LIST32));
ImageList_Add(himlLarge, hbmp, 0);
DeleteObject(hbmp);

SendMessage(hwnd,LVM_SETIMAGELIST,LVSIL_SMALL,(LPARAM)himlSmall);

et j'ai ajouté des Items dedans ainsi :

LV_ITEM lvi;
lvi.mask=LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;
lvi.state = 0;
lvi.stateMask = 0xFFFF;
lvi.cchTextMax=260;
lvi.iSubItem=0;
lvi.pszText="io";
lvi.iImage=Rep;
lvi.iItem=0;
SendMessage(hwnd, LVM_INSERTITEM, 0, (LPARAM)&lvi);

J'ai cherché, j'ai tout essayé, mais je n'arrive pas à changer l'icone. J'ai vu qu'il faut changer la valeur de 'lvi.iImage' mais lorsque je la change il n'y a plus d'icones du tout...
Quelqu'un saurait-il comment faire?
Glipper

3 réponses

cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
2 juil. 2003 à 21:45
Heu tout d'abord quand tu fait int Rep = fais le aussi pour l'icone 32bits ! ensuite il te suffit de mettre Rep2 au lieu de Rep1 !!! ;)
:-p :sleepy) :shy) :sleepy) :-p
0
glipper Messages postés 246 Date d'inscription dimanche 2 juin 2002 Statut Membre Dernière intervention 11 septembre 2016 1
2 juil. 2003 à 23:21
Non, ca ne marche pas, parceque ca change toutes les icones de la ListView... moi je voudrais que ca change uniquement l'icone en cours...

Glipper
0
cs_JCDjcd Messages postés 1138 Date d'inscription mardi 10 juin 2003 Statut Membre Dernière intervention 25 janvier 2009 4
3 juil. 2003 à 09:22
Heu oui met auparavent tu aurait du faire GetItem pour avoir l'item que tu as envie, puis tu lui change enfin cet icone !
:-p :sleepy) :shy) :sleepy) :-p
0
Rejoignez-nous