如何用TREE控件显示一个文件夹下的所有文件包括其中的文件夹
解决方案 »
- 不是基于对话框的项目怎么给菜单加tooltip
- 函数内存的问题,大家帮忙看看
- MFCGridCtrl中怎么获得鼠标选中的那一行的Index,是CGridCtrl中的哪个函数还是其他里面的某某函数
- 文件的“发行者”信息是如何加进去的呢?
- 请问通过那个oid可以获得snmp设备启动的服务?
- 中文字符串放在:char szHz[51](只有汉字)中,如何从中取出的汉字啊?在线等!
- 为什么我的CListBox老是没有水平滚动条?
- 请问有什么办法可以让程序一开机就运行呢?
- 问个小问题?
- 如何写一个结构到文件中去
- 请问:IElementBehavior接口在msdn中说是在mshtml.h/mshtml.idl中,但为何编译时找不到这个接口?
- IHTMLDocument2 如何通过tag得到HTML元素
void CFileTreeDlg::AddFile(CString StrPath, HTREEITEM faItem )
//StrPath为传递过来的目录层次,本次函数调用中搜索的文件都是它的下一层的。
//faItem为传递过来的Tree节点,本次函数调用中添加的Tree节点都是它的子节点。
{
CFileFind OneFile;
CString FName, DirName;
BOOL BeWorking;
HTREEITEM NewItem; DirName = StrPath+"\\*.*";
BeWorking = OneFile.FindFile( DirName );
while ( BeWorking ) { //BeWorking非零,指找了文件或目录 //查找同级的目录
BeWorking = OneFile.FindNextFile(); if ( OneFile.IsDirectory() && !OneFile.IsDots() ) //如果查找的结果是目录又不是".."或"."
{
//向Tree1中添加目录;
DirName = OneFile.GetFilePath();
FName = OneFile.GetFileTitle();
//IDC_TREE1
NewItem = m_Tree.InsertItem( FName, faItem ); //NewItem取得节点,其目的是为了下一层中
//添加节点方便,递归时把它传过去。
//进入下一层递归调用。
AddFile(DirName, NewItem);
} //退出递归时,到了这里!!!
if ( !OneFile.IsDirectory() && !OneFile.IsDots() ) //如果查找结果是文件
{
//向Tree1中添加文件
FName = OneFile.GetFileTitle(); //注意这里用的是GetFileTitle,因为
//这里是添加文件。
m_Tree.InsertItem( FName, faItem );
}
}// end of while
OneFile.Close(); //记着用完CFileFild实例要关闭
} 希望对你有所帮助!