用CFileFind查找文件的时候怎么不让他按字母顺序查找文件。。在线等.贴上代码
void CTreeTestDlg::getFilePath(LPCTSTR pstr)
{
CFileFind finder;CString strWildcard(pstr);
strWildcard += _T("\\*.*");
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
{
continue;
}
if (finder.IsDirectory())
{
int iconTemp=GetSysIcon(finder.GetFilePath());
m_hItem=m_treeCtrl.InsertItem(finder.GetFileName(),iconTemp,iconTemp,m_hItem);
getFilePath(finder.GetFilePath());
m_subItem=m_hItem=m_treeCtrl.GetParentItem(m_hItem);
}else
{
int iconTemp=GetSysIcon(finder.GetFilePath());
m_subItem= m_treeCtrl.InsertItem(finder.GetFileName(),iconTemp,iconTemp,m_hItem);
}
}finder.Close();
}运行结果是在向CTreeCtrl添加节点的时候文件名会按字母的顺序添加节点,不知道是什么原因。
void CTreeTestDlg::getFilePath(LPCTSTR pstr)
{
CFileFind finder;CString strWildcard(pstr);
strWildcard += _T("\\*.*");
BOOL bWorking = finder.FindFile(strWildcard);
while (bWorking)
{
bWorking = finder.FindNextFile();
if (finder.IsDots())
{
continue;
}
if (finder.IsDirectory())
{
int iconTemp=GetSysIcon(finder.GetFilePath());
m_hItem=m_treeCtrl.InsertItem(finder.GetFileName(),iconTemp,iconTemp,m_hItem);
getFilePath(finder.GetFilePath());
m_subItem=m_hItem=m_treeCtrl.GetParentItem(m_hItem);
}else
{
int iconTemp=GetSysIcon(finder.GetFilePath());
m_subItem= m_treeCtrl.InsertItem(finder.GetFileName(),iconTemp,iconTemp,m_hItem);
}
}finder.Close();
}运行结果是在向CTreeCtrl添加节点的时候文件名会按字母的顺序添加节点,不知道是什么原因。
解决方案 »
- 6410+wince6的DShow摄像头拍照变色,是驱动问题,还是应用程序写不好
- IOCP模型GetQueuedCompletionStatus
- MFC debug\vc60.pdb'的问题!
- 结构体问题,下面程序是什么错误?
- 有高手了解zlib细节的吗?我在evc上使用zlib.lib,运行时出问题了,请进来指导
- vc/mfc程序开发,关于界面与逻辑分离问题
- 怎样在程序中把BitmapButton设成不可见的?
- 急:非常简单的问题,如何在图片框中加载图片(在线结帖...)
- vc6下GDI+编程问题(在线给分)!!!
- ///一个基于Doc/View的应用程序中,CXXXView,CXXXDoc,CMainFrame对象是在什么时候什么地方创建的??
- 控制监控
- 请问,CMFCTabCtrl中如何插入CFormView?
因为目录树(NTFS,FAT等等)是排序的,遍历目录树的时候都是从第1个开始的
其实你可以自己按照你的要求对结果处理