MFC打开保存对话框
2015-07-24 09:10
190 查看
众所周知,CFileDialog 只能选择要打开的文件而不能选择要打开的文件夹,下面介绍一种像CFileDialog 选择文件一样选择文件夹的方法,代码如下:
//////////////////////////////////////////////////////////////////////////
//功能: 像CFileDialog浏览打开文件一样打开文件夹
//参数:
// pParent:显示浏览窗口的父窗口句柄
// wndTitle:浏览窗口显示的标题
//Example:
// CString path = GetBrowseFolder(this->m_hWnd,"请选择要打开的目录");
//////////////////////////////////////////////////////////////////////////
CString GetBrowseFolder(HWND pParent,CString wndTitle)
{
char szDir[MAX_PATH] = {0};
BROWSEINFO bi;
ITEMIDLIST *pidl = NULL;
bi.hwndOwner = pParent;
bi.pidlRoot = NULL;
bi.pszDisplayName = szDir;
bi.lpszTitle = wndTitle;
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
pidl = SHBrowseForFolder(&bi);
if(NULL == pidl)
return "";
if(!SHGetPathFromIDList(pidl,szDir))
return "";
return CString(szDir);
}
//////////////////////////////////////////////////////////////////////////
//功能: 像CFileDialog浏览打开文件一样打开文件夹
//参数:
// pParent:显示浏览窗口的父窗口句柄
// wndTitle:浏览窗口显示的标题
//Example:
// CString path = GetBrowseFolder(this->m_hWnd,"请选择要打开的目录");
//////////////////////////////////////////////////////////////////////////
CString GetBrowseFolder(HWND pParent,CString wndTitle)
{
char szDir[MAX_PATH] = {0};
BROWSEINFO bi;
ITEMIDLIST *pidl = NULL;
bi.hwndOwner = pParent;
bi.pidlRoot = NULL;
bi.pszDisplayName = szDir;
bi.lpszTitle = wndTitle;
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
pidl = SHBrowseForFolder(&bi);
if(NULL == pidl)
return "";
if(!SHGetPathFromIDList(pidl,szDir))
return "";
return CString(szDir);
}
相关文章推荐
- RHEL5使用3322动态域名方法
- 如何使用rpm 命令来卸载Mysql软件
- treap修订
- .Net文件*夹*操作
- Pascal's Triangle
- DevExpress v15.1:DevExtreme控件升级(三)
- Swift:函数与方法
- 感冒了。。。
- 证明整数为平方数
- 基于jQuery图片遮罩滑动文字切换特效
- Objective-C学习笔记(十八)——对象方法和类方法的声明,定义及调用
- 关于HTML和CSS的学习心得
- Butter Knife 实用的注解框架
- hdoj 1159最长公共子序列
- XML
- html+JS刷图实现视频效果
- 设置SecureCRT来正确显示彩色和中文
- Apache Mahout中的机器学习算法集【小结】
- xor高斯消元 poj2965 The Pilots Brothers' refrigerator
- MacBook Pro / OS X 10.10.3 (Yosemite) 编译caffe小记