我需要一个目录选择对话框,就是在安装软件是选择目标路径的对话框。mfc里有没有这样的公用对话框?给分

cleverxyz 2002-11-14 12:40:08
CFileDialog只能选择文件,选择一个文件夹用什么?
...全文
33 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
paul2002 2002-11-14
  • 打赏
  • 举报
回复
use SHBrowseForFolder
kpkui_76 2002-11-14
  • 打赏
  • 举报
回复
tree
cleverxyz 2002-11-14
  • 打赏
  • 举报
回复
谢谢!成功了!分数已送出!
zhenxizhou 2002-11-14
  • 打赏
  • 举报
回复
agree
用户 昵称 2002-11-14
  • 打赏
  • 举报
回复
agree with upstairs or use IShellBroswse
wj59 2002-11-14
  • 打赏
  • 举报
回复
CString strResult;

LPMALLOC lpMalloc;
if (::SHGetMalloc(&lpMalloc) != NOERROR)
{
return;
}

char szDisplayName[_MAX_PATH];
char szBuffer[_MAX_PATH];

BROWSEINFO browseInfo;
browseInfo.hwndOwner = m_hWnd; // set root at Desktop
browseInfo.pidlRoot = NULL;
browseInfo.pszDisplayName = szDisplayName;
browseInfo.lpszTitle = "选择数据源所在目录:";
browseInfo.ulFlags = 0;
browseInfo.lpfn = NULL;
browseInfo.lParam = 0;
LPITEMIDLIST lpItemIDList;

if ((lpItemIDList = ::SHBrowseForFolder(&browseInfo)) != NULL)
{
if (::SHGetPathFromIDList(lpItemIDList, szBuffer))
{
if (szBuffer[0] == '\0')
{
return;
}
strResult = szBuffer;
}
else
{
return;
}
lpMalloc->Free(lpItemIDList);
lpMalloc->Release();
}
else
{
return;
}

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧