HICON hIcon[7]; 
CImageList m_imagelist; 
m_imagelist.Create(16,16,0,7,7); 
//建立一个图像列表 
m_imagelist.SetBkColor (RGB(255,255,255));
hIcon[0]=AfxGetApp()->LoadIcon (IDI_ICON2); 
hIcon[1]=AfxGetApp()->LoadIcon (IDI_ICON1); //hIcon[6]=AfxGetApp()-〉LoadIcon (IDI_ BMP6); 
for(int i=0;i<=6;i++) 

m_imagelist.Add (hIcon[i]); 

m_Tree.SetImageList(&m_imagelist,TVSIL_NORMAL) ;
//为m_MyTree设置一个图像列表,使CtreeCtrl的不同节点显示不同的图标 
HTREEITEM m_item ;
m_item=m_Tree.InsertItem ("Root",0,0,0,0); 
//根节点的图标为IDI_BMP0 
if (m_item!=NULL) 
//根节点建立成功 

m_Tree.InsertItem("SubItem1",0,1,m_item) ;
//在根节点下建立一个子节点名为SubItem1,所显示的图标为IDI_BMP1。同理,可建立其它节点,同一层次的节点显示相同的图标 
}

解决方案 »

  1.   

    HICON hIcon[7]; 
    要定义成全局的,否则出了这个函数,就释放了,刷新时找不到,当然显示不了。
      

  2.   

    HICON hIcon[7]定义成全局的了,还是不行。
      

  3.   

    m_ImgLst.Create(IDB_TREE,16,1,RGB(0,255,255));
    m_wndTree.SetImageList(&m_ImgLst,TVSIL_NORMAL);

    m_wndTreeItem1=m_wndTree.InsertItem(_T("0A"),0,1,TVI_ROOT);
    其中IDB_TREE 为bitmap 有两个16X16的图片
    不选中位 0 图片  选中位 1 图片
      

  4.   

    谢谢?
    如果图标不用CImageList,而用ICON为什么不行?
      

  5.   

    m_ImageList.Create(32, 32, ILC_COLOR16|ILC_MASK,1, 4);
    HICON hIcon;    hIcon = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_NET));
        m_ImageList.Add(hIcon);
        hIcon = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_SMS));
        m_ImageList.Add(hIcon);
    hIcon = ::LoadIcon (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_PHK));
        m_ImageList.Add(hIcon);可以这样把ICO图加到CIMAGELIST中