MFC中打开选择文件夹对话框,并将选中的文件夹地址显示在编辑框中
2015-09-24 11:30
399 查看
一般用于选择你要将文件保存到那个目录下,此程序还包含新建文件夹功能
BROWSEINFO bi;
ZeroMemory(&bi, sizeof(BROWSEINFO)); //指定存放文件的默认文件夹路径
bi.lpszTitle=_T("请选择文件夹"); //添加提示语句
bi.ulFlags=0x0040 | BIF_EDITBOX; //添加“新建文件夹项”
LPMALLOC pMalloc;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);//以默认路径打开浏览文件夹对话框
TCHAR * savepath = new TCHAR[MAX_PATH];
CString savepath2;
if(pidl != NULL)
{
SHGetPathFromIDList(pidl,savepath);//把文件夹路径存放在savepath中
savepath2.Format(_T("%s"),savepath);
m_saveAddr = savepath2+_T("\\");//在路径后增加斜杠 ,其中m_saveAddr是与编辑框绑定的CString变量
if(SUCCEEDED(SHGetMalloc(&pMalloc)))//网上说pidl指向的对象用完应该释放
{
pMalloc->Free(pidl);
pMalloc->Release();
}
}
UpdateData(FALSE); //及时更新,使变量m_saveAddr的数据显示在对话框中
BROWSEINFO bi;
ZeroMemory(&bi, sizeof(BROWSEINFO)); //指定存放文件的默认文件夹路径
bi.lpszTitle=_T("请选择文件夹"); //添加提示语句
bi.ulFlags=0x0040 | BIF_EDITBOX; //添加“新建文件夹项”
LPMALLOC pMalloc;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);//以默认路径打开浏览文件夹对话框
TCHAR * savepath = new TCHAR[MAX_PATH];
CString savepath2;
if(pidl != NULL)
{
SHGetPathFromIDList(pidl,savepath);//把文件夹路径存放在savepath中
savepath2.Format(_T("%s"),savepath);
m_saveAddr = savepath2+_T("\\");//在路径后增加斜杠 ,其中m_saveAddr是与编辑框绑定的CString变量
if(SUCCEEDED(SHGetMalloc(&pMalloc)))//网上说pidl指向的对象用完应该释放
{
pMalloc->Free(pidl);
pMalloc->Release();
}
}
UpdateData(FALSE); //及时更新,使变量m_saveAddr的数据显示在对话框中
相关文章推荐
- C# WindowsForm 员工管理系统一【登录】
- java中按钮控制重绘面板
- Softmax回归
- Java网络通信之HttpClient
- Visual Studio Solution Configuration
- USER-AGENT是什么
- PHP编程 - 数值分析(php实现)一:Lagrange插值
- <context:component-scan>使用说明 接上一篇 自己理解方面所写
- 更改掉nginx默认的用户和用户组
- URAL 1208 Legendary Teams Contest (DFS)
- shell编程的笔记
- HDU3081 3081 Marriage Match II(中等,好题)([二分最大流]+并查集)
- C++中的双冒号
- HttpClient使用时遇到几个隐蔽小坑分析
- 一个推荐系统,实现完整的设计-在百度搜索关键词推荐案例
- 借助nginx搭建反向代理服务器小例
- 【LeetCode】234. Palindrome Linked List
- BZOJ2186 [Sdoi2008]沙拉公主的困惑 数论:递推求逆元
- 最大公约数和最小公倍数
- linux内核定时器