双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

100分求有关浏览路径对话框的问题

最帅马老师 最帅马老师 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我现在用的方法是:

CString	XXX::GetFilePath(unsigned int nResourceId)
{
CString sFolderPath;
BROWSEINFO bi;
char Buffer[MAX_PATH];

bi.hwndOwner = NULL;
bi.pidlRoot = NULL;
bi.pszDisplayName = Buffer; // 如果这个参数为NULL则不能显示对话框
bi.lpszTitle = "浏览源文件目录";
bi.ulFlags = BIF_EDITBOX; // 包括文件
bi.lpfn = NULL;
bi.iImage = nResourceId;

LPITEMIDLIST pIDList = SHBrowseForFolder(&bi); // 调用显示选择对话框

if(pIDList){
SHGetPathFromIDList(pIDList, Buffer); // 取得文件夹路径到Buffer里
sFolderPath = Buffer;

// 提交数据显示
int iLen = sFolderPath.GetLength();

if(iLen>0){
// 处理显示格式,路径字符串的最后一个字符必须为\
// 因此强制处理
//
if(iLen>3){
sFolderPath += "\\";
}

return sFolderPath;
}// fi sFolderPath.GetLength
}// fi

// 清理工作
LPMALLOC lpMalloc;
if(!FAILED(SHGetMalloc(&lpMalloc))){
lpMalloc->Free(pIDList);
lpMalloc->Release();
}// fi

return "";
}


但这个方法弹出的对话框没有新建按钮,不知新键按钮这样的浏览路径对话框如何做?

如下图所示:



并且能指定初始目录,即当对话框打开时能默认定位到一个文件夹,请教高手,如何做,有例子最好了
...全文
评论 9
收藏 已收藏
分享
返回顶部
最帅马老师
界面 15,976 成员 115,866 内容