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给添加上去,请各位高手指点下~~不胜感激~~

解决方案 »

  1.   

    加个m_treelist.SetImageList(&c1,LVSIL_SMALL);
    试试
      

  2.   

    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);//使用LVSIL_SMALL或LVSIL_STATE试一试
        bitM.Detach()//这一句必须要,要不能图片随着CBitmap析构函数自己释放了
      

  3.   

    另外CImageList c1;
    c1要设置为类的成员函数
      

  4.   


    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的,谢谢
      

  5.   

    1.首先CImageList c1;
    这个要定义为成员变量,不然退出了函数就不起作用了。
    2.要记住设置树的风格:::SetWindowLong(m_hWnd,GWL_STYLE,WS_VISIBLE|WS_TABSTOP 
    |WS_CHILD|WS_BORDER|TVS_HASBUTTONS 
    |TVS_LINESATROOT|TVS_HASLINES);
      

  6.   

    位图是24bit的不行吧,改(256色)的