『壹』 MFC点击按钮打开对话框选择文件夹(不是文件)
选择所选择的文件夹,获取文件夹的路径:
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('\0');
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找出文件夹路径,并读取文件夹内所有图片
CFileFind find;
CString Path = lpszPath;
CString lpsz = Path +L"\\";
Path = Path +L"\\*.*";
BOOL IsFind = find.FindFile(Path);
while(IsFind )
{
IsFind=find.FindNextFile();
//如果是"."则不扫描
if(find.IsDots())
continue;
//是目录,继续扫描此目录
else if(find.IsDirectory())
{
CString strPath = lpszPath;
strPath = strPath + L"\\" + find.GetFileName();
ScanDiskFile(strPath);
}
//文件
else
{
//获得文件的路径
m_strFile = find.GetFileName();
CString extend = m_strFile.Right(m_strFile.GetLength() - m_strFile.ReverseFind('.') - 1);//取得扩展名
if (extend == m_ext_one | extend == m_ext_two)//m_ext_now为你要查找的文件扩展名
{
m_strArray.Add(lpsz + m_strFile);
}
}
}
find.Close();
m_ext_one、m_ext_two用于指定需要搜索的文件后缀名
『叁』 MFC打开文件对话框怎么设置默认文件夹
打开文件对话框里面有一项可以设置打开出示路径,每次关闭程序的时候,保存路径(保存到文件或注册表),下次运行程序的时候读出来对打开文件对话框相关参数进行设置即可.
『肆』 求教!C++gui中点击导入来选择文件夹的路径
可以使用MFC的CFileDialog类。
CFileDialog dlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST,strFilter);
if (IDOK != dlg.DoModal()) {
return;
}
CString strPath = dlg.GetPathName();
strPath就是选中图片的全路径。
然后调用SetDlgIItemText( XXX,strPath).就可以把路径显示在textbox中。其中XXX为textbox的控件ID.