注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Kandy

长风破浪会有时,直挂云帆济沧海!

 
 
 

日志

 
 

获得用户指定的存储路径  

2009-06-14 11:24:25|  分类: MFC学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在对话框中的一个命令按钮的事件中,打开一个文件对话框,让用户选择存储要生成的文件的路径,但是要生成的文件的名称是由程序自动控制的,不需要用户来命名,用户只需要指定要存储的路径即可,那么如何获得用户指定的存储路径呢?

获取目录的函数代码如下:

 BOOL GetDirPath(HWND hwndOwner, CString* pDir)
{
 BROWSEINFO lpbi;

 TCHAR lpDir[MAX_PATH];
 CString path("");

 lpbi.hwndOwner = hwndOwner;
 lpbi.pidlRoot = NULL;  // 默认路径
 lpbi.pszDisplayName = lpDir;
 lpbi.lpszTitle = _T("请选择文件夹:");
 lpbi.ulFlags = BIF_NEWDIALOGSTYLE;
 lpbi.lpfn = NULL;
 lpbi.lParam = NULL;
 lpbi.iImage = NULL;

 LPITEMIDLIST lpidl = :: SHBrowseForFolder(&lpbi);

 if(lpidl)
  if (SHGetPathFromIDList(lpidl, lpDir))
  {
   *pDir = lpDir;
   return true;
  }

 return false;
}

 

调用方法举例:

 CString sDir;
 BOOL b = GetDirPath(this->m_hWnd, &sDir);

 if (b) ::MessageBox(NULL, sDir.GetBuffer(), _T("Sample"), NULL);

 

  评论这张
 
阅读(189)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018