[MFC]选择目录对话框和选择文件对话框

7 篇文章 0 订阅
在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法:

选择目录对话框

void CDcPackerDlg::OnBnClickedDecgen() 
{
 char szPath[MAX_PATH]; //存放选择的目录路径 
 CString str;

 ZeroMemory(szPath, sizeof(szPath)); 

 BROWSEINFO bi; 
 bi.hwndOwner = m_hWnd; 
 bi.pidlRoot = NULL; 
 bi.pszDisplayName = szPath; 
 bi.lpszTitle = "请选择需要打包的目录:"; 
 bi.ulFlags = 0; 
 bi.lpfn = NULL; 
 bi.lParam = 0; 
 bi.iImage = 0; 
 //弹出选择目录对话框
 LPITEMIDLIST lp = SHBrowseForFolder(&bi); 

 if(lp && SHGetPathFromIDList(lp, szPath)) 
 {
 str.Format("选择的目录为 %s", szPath);
 AfxMessageBox(str); 

  
 }
 else 
 AfxMessageBox("无效的目录,请重新选择"); 
}




选择文件对话框

//选择目录按钮
CString CDcPackerDlg::BootOpenDialog() //返回选择的文件名称
{
 CString strFile = _T("");

 CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("Describe Files (*.cfg)|*.cfg|All Files (*.*)|*.*||"), NULL);

 if (dlgFile.DoModal())
 {
 strFile = dlgFile.GetPathName();
 }

 return strFile;
}

//加载文件按钮
void CDcPackerDlg::OnBnClickedSelectdec()
{
 // TODO: Add your control notification handler code here
 m_strDescPath = ""; //类的成员变量

 //"打开文件"对话框,选择文件,返回其路径
 m_strDescPath = BootOpenDialog();
}




转自:http://www.cppblog.com/finehai/archive/2009/08/27/94578.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值