2009-05-16 7 views
0

Je souhaite que le contrôle de l'arborescence affiche un élément avec une icône de dossier à côté de celui-ci. donc, je l'ai écrit ce morceau de code:Comment utiliser CImageList

HBITMAP hFolderBitmap = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),_T("info.bmp"),IMAGE_BITMAP,20,20,LR_LOADFROMFILE|LR_CREATEDIBSECTION); 

if(hFolderBitmap) 
{ 
    cil.Create(20,20,ILC_COLOR32,0,5); 

    bmp.FromHandle(hFolderBitmap); 
    cil.Add(&bmp,RGB(255,0,255)); 
} 

GetTreeCtrl().SetImageList(&cil,TVSIL_NORMAL); 
hrootFolder = GetTreeCtrl().InsertItem(_T("Subscriptions"),0,0,TVI_ROOT); 

mais cela n'ajoute pas une icône de dossier à côté de mon étiquette d'abonnement. cela fonctionne correctement mais n'affiche aucune image.

Répondre

0

au lieu d'utiliser:

bmp.FromHandle (hFolderBitmap);

je devais utiliser:

bmp.Attach (hFolderBitmap);

0

J'utilise ceci:

UINT uiBmpId = theApp.m_bHiColorIcons ? 
    IDB_MACROBROWSE_IMGLIST_HQ : IDB_MACROBROWSE_IMGLIST; 

CBitmap bmp; 
if(!bmp.LoadBitmap(uiBmpId)) 
{ 
    ASSERT(FALSE); 
    return; 
} 

BITMAP bmpObj; 
bmp.GetBitmap (&bmpObj); 

UINT nFlags = ILC_MASK; 
nFlags |= (theApp.m_bHiColorIcons) ? ILC_COLOR24 : ILC_COLOR4; 

m_imageList.Create(16, bmpObj.bmHeight, nFlags, 0, 0); 
m_imageList.Add(&bmp, RGB (255, 0, 255)); 

GetTreeCtrl().SetImageList (&m_imageList, TVSIL_NORMAL); 
+0

J'ai essayé cette méthode et cela ne fonctionne toujours pas. – Attilah