我希望我的树视图控件显示一个旁边有文件夹图标的项目。 所以,我写了这段代码:
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);
但是,这不会在我的订阅标签旁边添加文件夹图标。它工作正常但不显示任何图像。
答案 0 :(得分:0)
我用这个:
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);
答案 1 :(得分:0)
而不是使用:
bmp.FromHandle(hFolderBitmap);
我不得不使用:
bmp.Attach(hFolderBitmap);