MFC 如何在浏览文件夹对话框增加“新建文件夹”并返回所选路径?

我在自学c++,还是菜鸟,我现在用SHBrowseForFolde调用浏览文件夹对话框,并能把路径存在savepath2中。如果我想在这基础上增加“新建文件夹”功能,并返... 我在自学c++,还是菜鸟,我现在用SHBrowseForFolde调用浏览文件夹对话框,并能把路径存在savepath2中。如果我想在这基础上增加“新建文件夹”功能,并返回路径,以下代码该作哪些改动?如果要在其他地方改动,希望能说具体一点,因为我是菜鸟。听网上说增加一个参数就可以,可是我看了一些代码好复杂,弄了半天都没弄懂。,谢谢各位了!void CMyDlg::OnOK() { BROWSEINFO bi; ZeroMemory(&bi,sizeof(BROWSEINFO));//指定存放文件的默认文件夹路径 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); savepath2=savepath2+"\\";//在路径后增加斜杠 if(SUCCEEDED(SHGetMalloc(&pMalloc)))//网上说pidl指向的对象用完应该释放 { pMalloc->Free(pidl); pMalloc->Release(); } } MessageBox(savepath2);//显示所选文件夹路径} 展开
 我来答
越风78
推荐于2016-09-14 · TA获得超过157个赞
知道答主
回答量:85
采纳率:0%
帮助的人:52.8万
展开全部
BROWSEINFO bi;
ZeroMemory(&bi,sizeof(BROWSEINFO)); //指定存放文件的默认文件夹路径
bi.lpszTitle="请选择文件夹"; //添加提示语句
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);
savepath2=savepath2+"\\";//在路径后增加斜杠
if(SUCCEEDED(SHGetMalloc(&pMalloc)))//网上说pidl指向的对象用完应该释放
{
pMalloc->Free(pidl);
pMalloc->Release();
}
} MessageBox(savepath2);//显示所选文件夹路径

这是修改后的代码,添加了第三四行,亲测可用
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1000365
2011-11-11 · 超过14用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:52.1万
展开全部
不清楚
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式