MFC点击按钮打开对话框选择文件夹(不是文件)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC点击按钮打开对话框选择文件夹(不是文件)相关的知识,希望对你有一定的参考价值。

我想取得一个文件夹下所有的.mdb文件,取出一个我知道用CFileDialog。我的意思是弹出对话框后,我只能选择文件夹,然后得到在这个文件夹下面所有的.mdb的总路径放入一个数组中。求大神们帮忙

参考技术A 选择所选择的文件夹,获取文件夹的路径:
CString
m_FileDir;
BROWSEINFO
bi;
ZeroMemory(&bi,
sizeof(BROWSEINFO));
bi.hwndOwner
=
m_hWnd;
bi.ulFlags
=
BIF_RETURNONLYFSDIRS;
LPITEMIDLIST
pidl
=
SHBrowseForFolder(&bi);
BOOL
bRet
=
FALSE;
TCHAR
szFolder[MAX_PATH*2];
szFolder[0]
=
_T('');
if
(pidl)

if
(SHGetPathFromIDList(pidl,
szFolder))
bRet
=
TRUE;
IMalloc
*pMalloc
=
NULL;
if
(SUCCEEDED(SHGetMalloc(&pMalloc))
&&
pMalloc)

pMalloc->Free(pidl);
pMalloc->Release();


m_FileDir
=
szFolder;//选择的文件夹路径
查找所有MDB文件(记录数组自己写吧)
CFileFind
ff;
BOOL
res
=
ff.FindFile(m_FileDir+"*.mdb");
while(res)

res
=
ff.FindNextFile();
//不遍历子目录
if(!ff.IsDirectory()
&&
!ff.IsDots())

CString
strFile
=
ff.GetFileName();
…//
在这里写需要的代码


ff.Close();
//
不要忘记关闭

以上是关于MFC点击按钮打开对话框选择文件夹(不是文件)的主要内容,如果未能解决你的问题,请参考以下文章

MFC中怎样实现通过点击按钮而打开对话框选择文件,并将选择的txt文件内容导入到Listcontrol控件指定的列中。

用mfc怎么打开excel表格

如何在MFC中让一个按钮实现打开文件(弹出选择文件窗口)的功能?

MFC 打开文件夹对话框

MFC中想实现打开文件或文件夹,该怎么实现呢

在MFC中,CMenu如何使用,比如点击开始,下面有新建,打开,保存等……