VC弹出"选择文件"和"选择文件夹"对话框(转)
2009-07-11 00:04
375 查看
1、选择文件夹
在实际的MFC编程当中,常常需要弹出对话框选择文件、选择目录等操作,对于选择文件,用CFileDialog就可以很简单的解决,而对于选择目录,则稍稍需要多一些步骤,需要自己创建Dialog。
首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strPath,然后为编辑框右边的按钮添加消息响应函数OnButtonBrowser(),并添加如下代码。
![](http://static1.photo.sina.com.cn/bmiddle/520e51640715120c78c20&690)
void CDialog::OnButtonBrowser()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szDir[MAX_PATH];
BROWSEINFO bi;
ITEMIDLIST *pidl;
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szDir;
bi.lpszTitle = "请选择目录";
bi.ulFlags = BIF_STATUSTEXT | BIF_USENEWUI | BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
pidl = SHBrowseForFolder(&bi);
if(pidl == NULL) return;
if(!SHGetPathFromIDList(pidl, szDir)) return;
else m_strPath = szDir;
UpdateData(FALSE);
}
关于结构体BROWSEINFO 和ITEMIDLIST ,可以查阅MSDN,里面有很详细的解释。
当程序启动起来的时候,点击按钮,就会弹出如下的选择目录的对话框
![](http://static12.photo.sina.com.cn/bmiddle/520e516446d2b4a15ee4b&690)
2、选择文件操作相对简单,
char szFilter[]="Text files(*.txt)|*.txt";
CFileDialog dlg(1,NULL,NULL,NULL,szFilter);
if(dlg.DoModal()==IDOK)
{
m_sRtDataFilePath = dlg.GetPathName();
}
转自:http://blog.sina.com.cn/s/blog_520e51640100dlio.html~type=v5_one&label=rela_nextarticle
在实际的MFC编程当中,常常需要弹出对话框选择文件、选择目录等操作,对于选择文件,用CFileDialog就可以很简单的解决,而对于选择目录,则稍稍需要多一些步骤,需要自己创建Dialog。
首先创建如下的对话框,并为它创建类Dialog,在Dialog头文件中添加保存目录名的变量CString m_strPath,然后为编辑框右边的按钮添加消息响应函数OnButtonBrowser(),并添加如下代码。
void CDialog::OnButtonBrowser()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
char szDir[MAX_PATH];
BROWSEINFO bi;
ITEMIDLIST *pidl;
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szDir;
bi.lpszTitle = "请选择目录";
bi.ulFlags = BIF_STATUSTEXT | BIF_USENEWUI | BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
pidl = SHBrowseForFolder(&bi);
if(pidl == NULL) return;
if(!SHGetPathFromIDList(pidl, szDir)) return;
else m_strPath = szDir;
UpdateData(FALSE);
}
关于结构体BROWSEINFO 和ITEMIDLIST ,可以查阅MSDN,里面有很详细的解释。
当程序启动起来的时候,点击按钮,就会弹出如下的选择目录的对话框
2、选择文件操作相对简单,
char szFilter[]="Text files(*.txt)|*.txt";
CFileDialog dlg(1,NULL,NULL,NULL,szFilter);
if(dlg.DoModal()==IDOK)
{
m_sRtDataFilePath = dlg.GetPathName();
}
转自:http://blog.sina.com.cn/s/blog_520e51640100dlio.html~type=v5_one&label=rela_nextarticle
相关文章推荐
- VC弹出"选择文件"和"选择文件夹"对话框(转)
- VC 使用"文件浏览"对话框选择文件夹
- VC弹出"选择文件"和"选择文件夹"对话框
- VC弹出选择“文件路径”和选择“文件夹路径”对话框
- 弹出"选择文件夹"对话框
- 关于VC弹出选择文件夹对话框
- VC弹出“选择文件夹”对话框的程序的编写(ZZ)
- 关于VC弹出选择文件夹对话框
- 弹出打开/保存文件对话框 选择文件夹对话框
- VC++------------MFC选择文件夹和文件对话框
- VC中打开对话框选择文件和文件夹
- VC中选择文件和文件夹的对话框
- Dephi中安装"dpk"包文件时弹出".. because it is not a design time package"的对话框.
- 使用"文件浏览"对话框选择文件夹
- VC点击按键弹出文件路径选择对话框
- VC弹出“选择文件夹”对话框的程序的编写
- 关于VC弹出选择文件夹对话框
- VC++, MFC中实现选择文件夹,选择文件对话框,确定当前工作目录(转载)
- 关于VC弹出选择文件夹对话框
- VC弹出“选择文件夹”对话框的程序的编写