这个是在上个版本上面修改而来,没有目录级数的限制。
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();//关闭 }遍历文件夹并建成目录树(2)
最新推荐文章于 2022-12-15 09:33:34 发布