将目录加载到树控件中

时间:2012-07-18 06:38:18

标签: visual-c++

如何使用vc ++将文件和文件夹加载到树控件中。 有没有可用的功能?

1 个答案:

答案 0 :(得分:2)

如果是基于Windows的系统,您可以使用Win32 API FindFirstFileFindNextFileFindClose功能。一个小example

如果是MFC应用程序,您可以使用CFileFind类。从MSDN中查看此示例。

#include <afxwin.h>
#include <iostream>

using namespace std;

void Recurse(LPCTSTR pstr)
{
   CFileFind finder;

   // build a string with wildcards
   CString strWildcard(pstr);
   strWildcard += _T("\\*.*");

   // start working for files
   BOOL bWorking = finder.FindFile(strWildcard);

   while (bWorking)
   {
      bWorking = finder.FindNextFile();

      // skip . and .. files; otherwise, we'd
      // recur infinitely!

      if (finder.IsDots())
         continue;

      // if it's a directory, recursively search it

      if (finder.IsDirectory())
      {
         CString str = finder.GetFilePath();
         cout << (LPCTSTR) str << endl;
         Recurse(str);
      }
   }

   finder.Close();
}