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

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

时间:2015-07-30 16:43:09      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:

 

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

选择目录对话框

{
技术分享    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 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]选择目录对话框和选择文件对话框 [转]

标签:

原文地址:http://www.cnblogs.com/mazhenyu/p/4689530.html

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