CImageList imgList;
imgList.Create(16, 16, ILC_COLOR8, 3, 0);imgList.Add(theApp.LoadIcon(IDI_ICON_OPER));
imgList.Add(theApp.LoadIcon(IDI_ICON_SYS));
imgList.Add(theApp.LoadIcon(IDI_ICON_ROOT));
m_Tree->SetImageList(&imgList, TVSIL_NORMAL);
m_Tree->ModifyStyle(0,TVS_EDITLABELS|TVS_HASLINES|TVS_HASBUTTONS|TVS_SHOWSELALWAYS);TVINSERTSTRUCT tvInsert;
tvInsert.hParent = TVI_ROOT;
tvInsert.hInsertAfter = TVI_ROOT;
tvInsert.item.mask = TVIF_IMAGE|TVIF_SELECTEDIMAGE|TVIF_TEXT|TVIF_PARAM|TVIF_HANDLE;
tvInsert.item.iImage = 1;
tvInsert.item.iSelectedImage = 1;
tvInsert.item.pszText = _T("所有对象");
HRoot = m_Tree->InsertItem(&tvInsert);

解决方案 »

  1.   

    经过n次测试,CImageList imgList;这个变量应该是个类成员变量,而不仅仅在生成树结点的函数中。
      

  2.   

    例如,你是在对话框中初始化tree控件,m_Tree是个对话框类成员变量,那么在对话框类中添加CImageList m_imagelist成员变量CImageList m_imagelist不应该在初始化tree控件的那个函数中存在,因为m_imagelist在函数中的生存期不如作类成员变量长。
      

  3.   

    imgList.Create(16, 16, ILC_COLOR8, 3, 0);
    改成
    imgList.Create(16, 16, ILC_COLOR8|ILC_MASK, 3, 0);
      

  4.   

    改为指针试试
    CImageList* imgList;
    imgList->Create(16, 16, ILC_COLOR8, 3, 0);
    imgList->Add(theApp.LoadIcon(IDI_ICON_OPER));
    imgList->Add(theApp.LoadIcon(IDI_ICON_SYS));
    .....