MFC 对话框程序中,需要在tree control的每个item前添加一个bitmap,我是这么写的:CBitmap bitM;
bitM.LoadBitmapA(IDB_BITMAP2);
CImageList c1;
c1.Create(16,16,ILC_COLOR24,2,2);
c1.Add(&bitM,RGB(255,0,0));
m_treelist.SetImageList(&c1,TVSIL_NORMAL);但是运行结果并没有把bitmap给添加上去,请各位高手指点下~~不胜感激~~
bitM.LoadBitmapA(IDB_BITMAP2);
CImageList c1;
c1.Create(16,16,ILC_COLOR24,2,2);
c1.Add(&bitM,RGB(255,0,0));
m_treelist.SetImageList(&c1,TVSIL_NORMAL);但是运行结果并没有把bitmap给添加上去,请各位高手指点下~~不胜感激~~
试试
bitM.LoadBitmapA(IDB_BITMAP2);
CImageList c1;
c1.Create(16,16,ILC_COLOR24,2,2);
c1.Add(&bitM,RGB(255,0,0));
m_treelist.SetImageList(&c1,TVSIL_NORMAL);//使用LVSIL_SMALL或LVSIL_STATE试一试
bitM.Detach()//这一句必须要,要不能图片随着CBitmap析构函数自己释放了
c1要设置为类的成员函数
bitM.LoadBitmapA(IDB_BITMAP2);
c1.Create(16,16,ILC_COLOR24,2,2);
c1.Add(&bitM,RGB(255,0,0));
m_treelist.SetImageList(&c1,LVSIL_STATE);
//bitM.Detach();
while(1)
{
int returncode = recv(clientSock,(char*)&userInfo[index],sizeof(UserMsg),0);
if(strcmp(userInfo[index].name,"")==0)
{
break;
}
HTREEITEM item = m_treelist.InsertItem(userInfo[index].name,NULL,NULL);
}就这一点和这个有关,这个东西不会对位图有限制吧,我的位图是24bit的,谢谢
这个要定义为成员变量,不然退出了函数就不起作用了。
2.要记住设置树的风格:::SetWindowLong(m_hWnd,GWL_STYLE,WS_VISIBLE|WS_TABSTOP
|WS_CHILD|WS_BORDER|TVS_HASBUTTONS
|TVS_LINESATROOT|TVS_HASLINES);