在MFC编程中经常会需要用到选择目录和选择文件的界面,以下总结一下本人常用的这两种对话框的生成方法:
选择目录对话框
wchar_t whPath[MAX_PATH] = { 0 };
BROWSEINFO bi;
bi.hwndOwner = m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = NULL;
bi.lpszTitle = _T("请选择保存文件的目录:");
bi.ulFlags = 0;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
//弹出选择目录对话框
LPITEMIDLIST lp = SHBrowseForFolder(&bi);
if(lp && SHGetPathFromIDList(lp, whPath))
{
GetDlgItem(IDC_EDIT8)->SetWindowTextW(whPath);
}
选择文件对话框
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编程中实现文件与目录选择对话框的方法。通过具体代码示例展示了如何创建选择目录对话框及选择文件对话框,并获取用户所选路径。
812

被折叠的 条评论
为什么被折叠?



