VC 打开目录对话框
2013-08-13 13:12
330 查看
From: http://blog.sina.com.cn/s/blog_790bb7190100yxm7.html
对于文件选择对话框和目录选择对话框。在VC中打开文件选择对话框比较简单,使用CFileDialog就可以。打开目录选择对话框就稍微麻烦一些。需要使用API函数SHBrowseForFolder来实现。
该函数原型为:
LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFOlpbi);
其中LPBROWSEINFO为BROWSEINFO结构的指针。
BROWSEINFO结构如下:
调用例子如下:
===========================================================
使用示例:
对于文件选择对话框和目录选择对话框。在VC中打开文件选择对话框比较简单,使用CFileDialog就可以。打开目录选择对话框就稍微麻烦一些。需要使用API函数SHBrowseForFolder来实现。
该函数原型为:
LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFOlpbi);
其中LPBROWSEINFO为BROWSEINFO结构的指针。
BROWSEINFO结构如下:
typedef struct _browseinfo { HWND hwndOwner; LPCITEMIDLIST pidlRoot; LPSTR pszDisplayName; LPCSTR lpszTitle; UINT ulFlags; BFFCALLBACK lpfn; LPARAM lParam; int iImage; }BROWSEINFO;
调用例子如下:
CString GetfolderPath() { CString folderPath; BROWSEINFO bi; char buf[MAX_PATH]; //初始化入口参数bi bi.hwndOwner = NULL; bi.pidlRoot = NULL; bi.pszDisplayName = buf; //此参数如为NULL则不能显示对话框 bi.lpszTitle = "选择路径"; bi.ulFlags = BIF_RETURNONLYFSDIRS; bi.lpfn = NULL; bi.iImage = 0; LPITEMIDLIST pIDList = SHBrowseForFolder(&bi); //调用显示选择对话框 if(pIDList) { SHGetPathFromIDList(pIDList,buf); //取得文件夹路径到buf里 folderPath = buf; //将路径保存在一个CString对象里 } folderPath.Append("\\"); return folderPath; }
===========================================================
使用示例:
void CtzipUncompressDlg::OnBnClickedBtnUncompressto() { CString folderPath; BROWSEINFO bi; char buf[MAX_PATH] = {0}; //初始化入口参数bi bi.hwndOwner = NULL; bi.pidlRoot = NULL; bi.pszDisplayName = buf; bi.lpszTitle = "解压缩到..."; bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE ;// new Folder button bi.lpfn = NULL; bi.iImage = 0; LPITEMIDLIST pIDList = SHBrowseForFolder(&bi); // 显示"浏览文件夹"对话框 if(pIDList && SHGetPathFromIDList(pIDList, buf)) // 填充文件夹路径到buf { folderPath = buf; m_sDestDir = folderPath; UpdateData(FALSE); } }
相关文章推荐
- 使用vc打开目录选择对话框
- VC 打开目录对话框
- VC常用系统对话框(保存 打开 目录)
- VC 打开目录对话框
- VC打开一个目录选择对话框,并设置初始化目录
- VC++ 打开保存文件对话框 目录对话框
- VC打开一个目录选择对话框,并设置初始化目录
- vc 打开目录对话框
- (转)记录:VC++中打开保存目录选择对话框操作
- (转)记录:VC++中打开保存目录选择对话框操作
- 记录:VC++中打开保存目录选择对话框操作
- VC中选择文件目录和打开文件对话框
- VC++中打开保存目录选择对话框操作
- VC++中打开文件和保存文件对话框的调用
- VC中选择目录对话框
- VC中目录选择对话框的使用
- mfc 打/保存文件对话框 打开目录对话框 gdal基础
- VC 打开目录 打开上次打开目录
- VC打开多个文件对话框
- VC中打开一个目录