Image dans CListCtrl

Signaler
Messages postés
119
Date d'inscription
mercredi 15 octobre 2003
Statut
Membre
Dernière intervention
21 juillet 2009
-
Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
-
bonjour,

je voudrais faire apparaitre des bitmap dans ma CListCtrl

j'ai essayé ceci :

    CBitmap bmp;
     Mobile-5.05\\custsymb\\CHUR1-32.BMP");
    int retour = bmp.LoadBitmap(IDB_CHUR1);
    CImageList imageList;
    imageList.Create(32, 32, ILC_MASK, 0, 4);
    int nImage = imageList.Add(&bmp,RGB(0, 0, 0));
    m_list_symb.SetImageList(&imageList,LVSIL_NORMAL);
    int nItem = m_list_symb.InsertItem(0,L"test",nImage);
    LVITEM lvi = {0};
    lvi.mask = LVIF_IMAGE;
    lvi.iItem = nItem;
    lvi.iImage = nImage;
    m_list_symb.SetItem(&lvi);

le problème est que j'affiche que le mot "test" et non l'image

quelqu'un peut il m'aider?

merci

3 réponses

Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
1
Salut!
heu, là ya un truc que je pige pas, pourquoi tu fais un InsertItem, et tout de suite derrière un SetItem, dans ce cas là ton SetItem ne sert à rien...En principe on fait ca quand on insrère un item (normal ;) ) mais quand on veut aussi insérer un subitem après. Hors là, tu précise déjà quelle image tu utilises dans InsertItem, donc inutile.
Sinon quelle taille fait ton image ? (IDB_CHUR1)

<hr size="2" width="100%" />-{ Saifer }-
Messages postés
119
Date d'inscription
mercredi 15 octobre 2003
Statut
Membre
Dernière intervention
21 juillet 2009

mon image fait 32 * 32
j'ai remarqué apres que je faisais des choses inutiles

sinon j'ai essayé d'afficher dans une picture mais le résultat est le même, l'image ne s'affiche pas
Messages postés
115
Date d'inscription
samedi 29 mars 2003
Statut
Membre
Dernière intervention
19 décembre 2008
1
L'erreur vient peut-être du :
imageList.Create(32, 32, ILC_MASK, 0, 4);

Le quatrième paramètre précise la taille initiale de ta liste, et tu lui met 0, je ne sais pas si ca vient de là ms sa pourrait ! moi chaque fois que je me sert d'une ImageList, si je l'initialise au début avec 3 images (par exemple !) et bien en taille initiale je met 3. Et sa marche, donc ca pourrait etre une piste.
De plus, tu utilise ILC_MASK, d'après la msdn, ta liste contiendra 2 bitmaps, hors tu veux la faire grossir au maximum de 4 (le 5ème paramètre), donc je suppose que tu n'as pas lu la msdn ou que tu n'as pas compris, essai plutôt avec ILC_COLOR32.
Une dernière chose, tu prend la valeur de retour de LoadBitmap, mais tu ne t'en sert pas (en tout cas pas dans le code que tu as mis ici), vérifie sa valeure en regardant dans la msdn, tu pourras deja voir si ton bitmap se charge correctement.


voila c'est à peut près tout, bonne chance ! (sinon regarde dans les sources du site, moi j'avais trouver tout ce que je voulais sur les ImageList)

++


-{ Saifer }-