在高版本中有时直接使用CMFCEditBrowseCtrl中的“浏览文件夹”控件时报错,所以只能自己参考写一个自定的“浏览文件夹”控件了;
程序参考来自:https://blog.youkuaiyun.com/obuyiseng/article/details/49795149
在对应的按钮里添加程序
void xBurnInDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CString strFilePath = _T("");
BROWSEINFO bi;
char Buffer[256];
//初始化入口参数bi开始
bi.hwndOwner = NULL;
bi.pidlRoot = NULL;
bi.pszDisplayName = (LPSTR)Buffer;//此参数如为NULL则不能显示对话框
bi.lpszTitle = "选择路径";
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.iImage = 0;
//初始化入口参数bi结束
LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框
if (pIDList)//选择到路径(即:点了确定按钮)
{
SHGetPathFromIDList(pIDList, Buffer);
//取得文件夹路径到Buffer里
strFilePath = Buffer;//将路径保存在一个CString对象里
SetDlgItemText(EDIT_LOOK_FOLDER, strFilePath); //显示到edit Control对话框中
//EDIT_LOOK_FOLDER为Edit control控件ID
UpdateData(1);
}
else
{
return;
}
}