Icones dans CListCtrl

cs_goondy Messages postés 95 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 janvier 2005 - 24 févr. 2004 à 00:14
gadafla Messages postés 33 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 16 février 2011 - 18 août 2004 à 21:48
Je suis désolé de poser cette question... j'ai cherché sur le net mais j'avoue que je ne capte que dalle!
Bon, c'est en MFC (dsl BruNews... je t'assure que la prochaine étape est l'apprentissage du win32).
J'ai une CListCtrl qui me sert à faire un petit explorateur de fichiers dans une appli mais :
-d'un, je n'ai aucune de la manière dont on met une icone dans la liste.
-de deux, je veux mettre l'icone qui est associé au fichier dans windows...

je veux bien une réponse autre que "utilise un CImageList" ou un truc dans ce genre, je le sais!

Ma question est plutot comment ?

Merci ;o)

3 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
24 févr. 2004 à 23:38
Tout d'abord au moment de remplir ta liste, tu crée ta liste d'image :

m_ImageList.Create(16, 16, ILC_MASK, 10, 10);
listCtrl.SetImageList(&m_ImageList, LVSIL_SMALL);

ensuite, lorsque tu ajoute tes items dans la liste, tu récupère son icone associée dans Windows (une fonction du Shell mais je ne sais pas vraiment laquelle) et tu l'ajoute dans ta liste d'image.

int nImage = m_ImageList.Add(hIcon);

// tu ajoute ton item
int nItem ) listCtrl.InsertItem(....)

// tu lui affecte son icone
LVITEM lvi = {0};
lvi.mask = LVIF_IMAGE;
lvi.iItem = nItem;
lvi.iImage = nImage;
listCtrl.SetItem(&lvi);
0
cs_goondy Messages postés 95 Date d'inscription jeudi 9 octobre 2003 Statut Membre Dernière intervention 7 janvier 2005
24 févr. 2004 à 23:47
Merci, c'est gentil!
J'essaierai!
0
gadafla Messages postés 33 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 16 février 2011
18 août 2004 à 21:48
au k ou vou chercheriez encore pour les icones =p (comme je passais par la).

pour extraire les icones des executables, il y a une fonction ExtractIcon()

[ I code therefore I am ]
0
Rejoignez-nous