/*
rootnode : 当前树控件的根节点 ,
filename : 当前只在遍历的路径
m_treeCtrl, 树控件的控制变量
*/
void CCFileTreeDlg::findFile(HTREEITEM rootnode, CString & fileName)
{
CString path = fileName + "\\*";
CFileFind fileFind;
BOOL ret = fileFind.FindFile(path);
while (ret) {
ret = fileFind.FindNextFile();
if (fileFind.IsDots()) // 如果是‘.’ 和 ‘..’ 则不进行访问 ,跳过
{
continue;
}
if (fileFind.IsDirectory()) // 如果当前选中的文件是 文件夹 ,则递归访问器所有子文件
{
auto node = m_treeCtrl.InsertItem(fileFind.GetFileName(), rootnode);
findFile(node, fileFind.GetFilePath());
}
else
{
//访问当前文件 ,
m_treeCtrl.InsertItem(fileFind.GetFileName(), rootnode);
}
}
fileFind.Close();
}