CImageList m_imageList;
HICON hIcon[2];
int n;
m_imageList.Create(16,16,0,8,8);
hIcon[0]=AfxGetApp()->LoadIcon(IDI_ICON_FOLDER);
hIcon[1]=AfxGetApp()->LoadIcon(IDI_ICON_FILE);
for (n=0;n<2;n++)
{
m_imageList.Add(hIcon[n]);
}CTreeCtrl* pFileTree=(CTreeCtrl*)GetDlgItem(IDC_TREE_FILESYSTEM);
pFileTree->SetImageList(&m_imageList,TVSIL_NORMAL);
TV_INSERTSTRUCT tvinsert;
tvinsert.hInsertAfter=TVI_LAST;
tvinsert.item.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
tvinsert.item.hItem=NULL;
tvinsert.item.state=0;
tvinsert.item.iSelectedImage=1;
tvinsert.item.stateMask=0;
tvinsert.item.cchTextMax=16;
tvinsert.item.cChildren=0;
tvinsert.item.lParam=0;
tvinsert.hParent=NULL;
tvinsert.item.iImage=1;
tvinsert.item.pszText=(LPSTR)(LPCTSTR)name;
pFileTree->InsertItem(&tvinsert);就是显示不出
晕啊。。

解决方案 »

  1.   

    InsertItem这个函数不是还有其他的表示方式吗/用其他的试试.其中参数有CImageList这个的函数.
      

  2.   

    同问~~~诡异问题~~做文件系统时遇到同样问题~
    InsertItem 的几个重载函数都试了~~
    不另外加载用它自带的GetImageList(...);SetImageList(...)然后再insertItem都还是不能显示~~~
      

  3.   

    将m_imageList变量声明为CDialog类或父类的成员变量,使它在某个期间(如对话框打开期间)存在。
      

  4.   

    //下面是我的源代码,可以显示的
    HICON hIcon[2];
    int n;
    m_imageList.Create(16, 16, 0, 8, 8);
    hIcon[0]=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    hIcon[1]=AfxGetApp()->LoadIcon(IDR_TESTTYPE);
    for (n=0;n<2;n++)
    {
    m_imageList.Add(hIcon[n]);
    }

    CTreeCtrl* pFileTree=(CTreeCtrl*)GetDlgItem(IDC_TREE_FILESYSTEM);
    pFileTree->SetImageList(&m_imageList,TVSIL_NORMAL);
    TV_INSERTSTRUCT tvinsert;
    tvinsert.hInsertAfter=TVI_LAST;
    tvinsert.item.mask=TVIF_TEXT|TVIF_IMAGE|TVIF_SELECTEDIMAGE;
    tvinsert.item.hItem=NULL;
    tvinsert.item.state=0;
    tvinsert.item.iSelectedImage=1;
    tvinsert.item.stateMask=0;
    tvinsert.item.cchTextMax=16;
    tvinsert.item.cChildren=0;
    tvinsert.item.lParam=0;
    tvinsert.hParent=NULL;
    tvinsert.item.iImage=1;
    tvinsert.item.pszText=(LPSTR)(LPCTSTR)"Test";
    pFileTree->InsertItem(&tvinsert);
      

  5.   

    恩 刚试了下 可以显示了
    thankU~~:d