遍历文件夹并建成目录树(2)

130 篇文章 0 订阅
123 篇文章 1 订阅

这个是在上个版本上面修改而来,没有目录级数的限制。

BOOL CFileTreeDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	m_iImageList.Create(24, 24, TRUE,1, 0);
	HICON hIcon = NULL;
	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(), 
		MAKEINTRESOURCE(IDI_KEBIAO), IMAGE_ICON, 24, 24, 0);
	m_iImageList.Add(hIcon);
	m_FileTree.SetImageList ( &m_iImageList,TVSIL_NORMAL );
	strHTFir = m_FileTree.InsertItem("成绩表",0,0,NULL);	
	BrowseFile(strHTFir,"成绩表");//遍历"成绩表"文件夹内的所有目录

	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CFileTreeDlg::BrowseFile(HTREEITEM strHTFir111, CString strFile)
{
 CFileFind ff;
 CString szDir = strFile; if(szDir.Right(1) != "\\")
  szDir += "\\"; szDir += "*.*"; BOOL res = ff.FindFile(szDir); while(res)
 {
  res = ff.FindNextFile();
  CString strPath = ff.GetFilePath();
  CString strTitle = ff.GetFileTitle(); 
  if (ff.IsDots())
  {
   continue;
  }
  HTREEITEM Htree = m_FileTree.InsertItem(strTitle,0,0,strHTFir111);  if(ff.IsDirectory())
  {
   //如果是一个子目录,用递归继续往深一层找  
   BrowseFile(Htree, strPath);
  }  
 }
 ff.Close();//关闭
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值