关于treeview的问题,我做了一个目录浏览器,用的是系统图标。但是根目录我想用自己的图标,Treeview能做到吗?就是两个ImageList啦。谢谢!谢谢!

解决方案 »

  1.   

    为什么不简单的把两个imagelist合并起来作为一个imagelist load进去呢?
      

  2.   

    具体的方法我马上想不起来,但是我记得无论是Treeview还是ListView 在你添加这个ImageList的时候,让你填写这个每一个图标对应的位图Index的!
      

  3.   

    搞一个imagelist,把系统图标和自己的图标都放进去嘛
      

  4.   

    m_ImgList=new CImageList;
    m_ImgList->Create(16,16,ILC_COLORDDB|ILC_MASK,4,0);

    HICON ico=AfxGetApp()->LoadIcon(IDI_MP3FAV);
    m_ImgList->Add(ico);
    ico=AfxGetApp()->LoadIcon(IDI_FOLDERCLOSE);
    m_ImgList->Add(ico);
    ico=AfxGetApp()->LoadIcon(IDI_FOLDEROPEN);
    m_ImgList->Add(ico);
    ico=GetMP3Icon();
    if(ico!=NULL)
    m_ImgList->Add(ico);
    else{
    ico=AfxGetApp()->LoadIcon(IDI_FILE);
    m_ImgList->Add(ico);
    }
    ico=AfxGetApp()->LoadIcon(IDI_ASSED);
    m_ImgList->SetOverlayImage(m_ImgList->Add(ico),1);

    m_ftree.SetImageList(m_ImgList,0);参考
      

  5.   

    一个TreeView是对应一个CImageList的,每一个树的子项对应着一个列表的索引.你所说的问题我觉得一个列表就可以实现了
      

  6.   

    对啊,豁然开朗。呵呵,谢谢你啦kimryo。
      

  7.   

    vb写法:     Set imgX = ImageList1.ListImages.Add(1,,loadpicture("d:\temp\aaa.bmp")      TreeView1.ImageList = ImageList1    ' Initialize ImageList.
        Set nodX = TreeView1.Nodes.Add(,, "r", "Root")