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

2025-01-04 16:03:02
推荐回答(2个)
回答1:

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);//显示所选文件夹路径

这是修改后的代码,添加了第三四行,亲测可用

回答2:

不清楚