解决方案 »

  1.   

    用FindFirstFile/FindNextFile来遍历目录,然后根据你学会的,把文件名插入树控件
      

  2.   

    我测试过的遍历文件函数,在下面打印文件名字的地方修改为你要进行的树形控件显示就行,因为涉及到多层目录,所以一定记得二级目录树形控件的控制,希望对你有用!代码如下void TravelFolder(CString strDir, int nDepth)
    {
    CFileFind filefind;                            //声明CFileFind类型变量
    CString strWildpath = strDir + _T("\\*.*");     //所有文件都列出。
    if(filefind.FindFile(strWildpath, 0))        //开始检索文件
    {
    BOOL bRet = TRUE;
    while(bRet)
    {
    bRet = filefind.FindNextFile();             //枚举一个文件
    if(filefind.IsDots())                        //如果是. 或.. 做下一个
    continue;
    for (int i = 0; i < nDepth; i ++)                 //层次空格打印
    {
    TRACE(_T("    "));
    }
    if(!filefind.IsDirectory())          //不是子目录,把文件名打印出来
    {
    CString strTextOut = strDir + CString(_T("\\")) + filefind.GetFileName();
    TRACE(_T("file = %s\r\n"), strTextOut);
    }
    else                       //如果是子目录,递归调用该函数
    {
    CString strTextOut = strDir + CString(_T("\\")) + filefind.GetFileName();
    TRACE(_T("dir = %s\r\n"), strTextOut);
    TravelFolder(strTextOut, nDepth + 1);//递归调用该函数打印子目录里的文件
    }
    }
    filefind.Close();
    }
    }
      

  3.   

    思路就是把FindFirstFile/FindNextFile这两个函数放到一个递归函数中,写一个递归,然后判断就行了!
      

  4.   

    #1 得分:0 回复于: 2013-01-30 21:49:35 
    用FindFirstFile/FindNextFile来遍历目录,然后根据你学会的,把文件名插入树控件 
      

  5.   

    谁用谁知道!当年哥早做过了!
    http://download.csdn.net/detail/robertbaker/5043530
      

  6.   

    CFileFind或者FindFirstFile 
             +
             递归!
      

  7.   

    http://www.codeproject.com/Articles/8698/CFolderTreeCtrl-class-or-how-to-select-folders-and
    这个和你的要求应该是一样的。
      

  8.   

    CFileFind::FindFile/FindNextFile()遍历文件
    CTreeCtrl::InsertItem()插入树节点信息