1.资源中新建两个图标资源,都是32*32,一个红色,一个绿色
2.把他们添加到CImageList:CImageList* pImageList;
pImageList = new CImageList();
pImageList->Create(32, 32, ILC_MASK, 2, 0);
pImageList->Add(AfxGetApp()->LoadIcon(IDI_ICON1));
pImageList->Add(AfxGetApp()->LoadIcon(IDI_ICON2));3.把它与树形控件绑定:m_tree.SetImageList(pImageList,TVSIL_NORMAL);4.在插入节点时指定图标:m_tree.InsertItem("XXXX", 0, 0, root); //显示红色图标,正确
m_tree.InsertItem("XXXX", 1, 1, root); //仍然显示红色图标,应该是绿色的
希望高手指点一下 :)

解决方案 »

  1.   

    图标没弄错吧.将IDI_ICON1和IDI_ICON2交换一下顺序试试
      

  2.   

    我和你的步骤一样,没问题啊,是不是图标太大了,我的是:
    m_ImageList.Create(16, 16,  ILC_COLOR32| ILC_MASK, 2, 0);
      

  3.   

    m_wndImageList2.Create(IDB_BROWSE_IMAGE_SMALL, 16, 16, RGB(255,0,0));
    m_listServer.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_FLATSB); m_listServer.SetImageList(&m_wndImageList2, LVSIL_SMALL);