VC++中关于对话框

cwbcwb505 2008-04-11 03:54:51
本人现在正在做一个程序,其中有一个部分是做一个浏览按钮,用来浏览文件夹目录,并选择一个目录并显示在对话框中,比如我们要安装一个软件,它会有一个browes按钮,让你选择一个目录,我做的就是这个,请大家给个思路,或是给一个能运行的例子,


谢谢!
...全文
97 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
cwbcwb505 2008-04-18
  • 打赏
  • 举报
回复
谢谢大家
IT_lau 2008-04-12
  • 打赏
  • 举报
回复
d
060 2008-04-12
  • 打赏
  • 举报
回复
6楼 正解
myullian 2008-04-11
  • 打赏
  • 举报
回复
CString szFilterFDlg = "文本文件 (*.txt) ¦*.txt ¦所有文件 (*.*) ¦*.* ¦ ¦";
CFileDialog fileDlg( TRUE, "txt", NULL, OFN_HIDEREADONLY ¦ OFN_OVERWRITEPROMPT, szFilterFDlg, NULL );
if(fileDlg.DoModal() == IDOK)
{
CString filepath = fileDlg.GetPathName();
}
liveforme 2008-04-11
  • 打赏
  • 举报
回复
.net clr, 拖控件,加事件。。
OenAuth.Core 2008-04-11
  • 打赏
  • 举报
回复
以上是获得文件路径,文件夹路径的话就用SHBrowseForFolder函数:实例如下:

void CTestDlg::OnBrowseBtn()
{
// TODO: Add your control notification handler code here

BROWSEINFO bi;
TCHAR szDisplayName[MAX_PATH];
LPITEMIDLIST pidl;
LPMALLOC pMalloc = NULL;

ZeroMemory(&bi, sizeof(bi));
bi.hwndOwner = GetSafeHwnd();
bi.pszDisplayName = szDisplayName;
bi.lpszTitle = TEXT("Please select a folder:");
bi.ulFlags = BIF_RETURNONLYFSDIRS;
pidl = SHBrowseForFolder(&bi);
CString sPath;
if (pidl)
{
SHGetPathFromIDList(pidl, szDisplayName); // set the directory name.
sPath = szDisplayName;
MessageBox(sPath);
}
}
OenAuth.Core 2008-04-11
  • 打赏
  • 举报
回复
新建一个按钮,然后添加一个消息响应函数。函数内容如下:
void CTestDlg::OnButton1()
{
CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString filepath = fileDlg.GetPathName();
MessageBox(filepath);//只是让你看一下效果
}
}

你也可以将CString filepath定义成全局变量,这样你就可以调用路径了。
lzj290438714 2008-04-11
  • 打赏
  • 举报
回复
CString szFilterFDlg = "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*||";
CFileDialog fileDlg( TRUE, "txt", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilterFDlg, NULL );
if(fileDlg.DoModal() == IDOK)
{
CString filepath = fileDlg.GetPathName();
}
ostrich2fly 2008-04-11
  • 打赏
  • 举报
回复
SHBrowseForFolder
msdn 一下
hejun548 2008-04-11
  • 打赏
  • 举报
回复
调用CFileDialog.

20分就这么点答案啦。
jieao111 2008-04-11
  • 打赏
  • 举报
回复
d

64,688

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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