码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-02-03 16:17:57      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:.cpp   form   div   方法   boot   技术   打开文件   变量   两种   

在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();
技术分享图片
技术分享图片    技术分享图片
技术分享图片}

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

标签:.cpp   form   div   方法   boot   技术   打开文件   变量   两种   

原文地址:https://www.cnblogs.com/wangjian8888/p/8408942.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!