如何打开保存路径选择对话框
2005-02-01 10:07
465 查看
有时我们的应用程序需要保存一些文件,并且要提供一个接口供用户来选择保存到哪,一般是用CFileDialog类来实现,但用这个类需要用户在保存前填上一个文件名,但是,有的时候我们已经知道文件名了,只需要用户指定一个路径来保存而已,这时我们可以打开一个路径选择对话框来供用户选择路径,如下图所示,用户点击浏览按钮,就弹出一个对话框,让用户选择文件的保存目录。
这实现起来也不难,只要几行代码就可以实现了,代码如下:
void CPage2::OnBtnbrowse()
{
LPMALLOC pMalloc;
BROWSEINFO bi;
if (SUCCEEDED(SHGetMalloc(&pMalloc))) //malloc memory for the LPMALLOC struct
{
ZeroMemory(&bi,sizeof(bi)); //init to zero
char pszDirName[MAX_PATH]; //the dir name will be saved here
LPITEMIDLIST pidl;
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = NULL;
bi.pszDisplayName = pszDirName;
bi.lpszTitle = _T("选择要保存文件的目录");
bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS|BIF_STATUSTEXT|BIF_EDITBOX;
bi.lpfn = NULL;
bi.lParam = 0;
if ((pidl = ::SHBrowseForFolder(&bi)) != NULL) //open the dialog
{
if (::SHGetPathFromIDList(pidl, pszDirName))//get the path
{
m_path = pszDirName; //将用户指定的路径保存起来,以后文件就保存到m_path指定的目录中
UpdateData(FALSE);
}
pMalloc->Free(pidl); //free memory
}
pMalloc->Release(); //free memory
}
}
这实现起来也不难,只要几行代码就可以实现了,代码如下:
void CPage2::OnBtnbrowse()
{
LPMALLOC pMalloc;
BROWSEINFO bi;
if (SUCCEEDED(SHGetMalloc(&pMalloc))) //malloc memory for the LPMALLOC struct
{
ZeroMemory(&bi,sizeof(bi)); //init to zero
char pszDirName[MAX_PATH]; //the dir name will be saved here
LPITEMIDLIST pidl;
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = NULL;
bi.pszDisplayName = pszDirName;
bi.lpszTitle = _T("选择要保存文件的目录");
bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS|BIF_STATUSTEXT|BIF_EDITBOX;
bi.lpfn = NULL;
bi.lParam = 0;
if ((pidl = ::SHBrowseForFolder(&bi)) != NULL) //open the dialog
{
if (::SHGetPathFromIDList(pidl, pszDirName))//get the path
{
m_path = pszDirName; //将用户指定的路径保存起来,以后文件就保存到m_path指定的目录中
UpdateData(FALSE);
}
pMalloc->Free(pidl); //free memory
}
pMalloc->Release(); //free memory
}
}
相关文章推荐
- Cocoa 选择保存路径对话框 和 选择打开文件对话框
- 关于创建Excel表格问题(保存至指定文件/弹出直接打开还是下载,并可以选择保存路径的对话框)
- VC打开文件对话框与保存文件路径选择对话框
- C#按键打开文件选择对话框,并把选择好的路径保存/显示到textBox
- 在VC中如何使用对话框让用户选择自己保存文件的路径
- 在VC中如何使用对话框让用户选择自己保存文件的路径
- 如何用VBA打开选择文件和选择路径的对话框
- 如何弹出一个选择文件夹路径的对话框选择路径?
- 如何打开指定路径的对话框
- python qt(pyqt)的文件打开、文件保存、文件夹选择对话框
- javascript打开选择对话框/保存对话框
- javascript打开选择对话框/保存对话框
- asp.net打开对话框选择文件路径
- 利用Qt对话框选择文件保存路径
- SAP ABAP 文件打开和保存时候,路径选择的弹出框 cl_gui_frontend_services
- 笔记 MFC 打开或者保存路径浏览对话框(CFileDialog)
- javascript打开选择对话框/保存对话框
- 打开路径选择对话框
- MFC 打开保存对话框 获取保存文件路径 {无错版} vs 2010
- javascript打开选择对话框/保存对话框