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

来源:互联网 发布:大智慧分析家软件 编辑:程序博客网 时间:2024/05/22 12:51
在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

原创粉丝点击