为CFileDialog类指定一个默认的文件夹
来源:互联网 发布:vp矢量化软件 编辑:程序博客网 时间:2024/05/23 07:24
在MFC中编程序,如果想使用选择文件对话框功能,CFileDialog类是首选。它可以简便打开选择文件的对话框,让使用者选择一个或者多个文件。一般使用时,默认是打开“我的文档”,使用者不得不使用鼠标再次点选其他的文件夹。假如,我们想让CFileDialog打开自己指定的文件夹目录呢? 又如何实现呢。本文将告诉你如何实现这种功能。
CFileDialog使用实例
折叠展开 C/C++ Code
CString strFile;
CString defExe("dat");
CString defFileName("*.dat");
CString defFilter("数据文档(*.dat)|*.dat|所有文件(*.*)|*.*|");
CFileDialog dlg(true,defExe,defFileName,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,defFilter);
dlg.m_ofn.lpstrInitialDir= "c:\\windows\\"; //指定文件夹
if(dlg.DoModal()==IDOK)
{
strFile = dlg.GetPathName();
MessageBox(strFile);
}
在上述代码中,我们指定了一个默认的文件夹“C:\windows”,当你运行上段代码时,文件选择对话框就会打开你设置的默认文件夹;如果此文件夹不存在,就会打开它自己默认的文件夹,比如“我的文档”。
上述代码中,defExe是定义了默认打开的文件类型(扩展名),defFileName则定义了打开的文件名,defFilter是过滤文件类型。 当你点击“确定”,就会进入if语句中,strFile则得到你选择的文件全部路径,如 “C:\windows\system32\cmd.exe”等。
CString OpenFilter;
OpenFilter = "bmp Files (*.bmp)|*.bmp|";//打开文件时的过滤器
::SetCurrentDirectory(_T("..//image") );//设置默认打开路径为相对路径下的image文件夹!
//VC6.0下应该是::SetCurrentDirectory(".//image") ;少一个点
CFileDialog myDialog(
TRUE, _T("bmp"), _T(".bmp"),
OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST,
OpenFilter, this);
if (myDialog.DoModal() == IDOK)//对话框创建成功
{
if (m_bInit)//如果重新调用了一幅图片,则把以前的数组空间释放,重新申请
DeleteAllArr();
m_sFile = myDialog.GetPathName();//GetFileName
UpdateData( FALSE );//从外部接收数据
USES_CONVERSION;//CString转char* (vs2005)
char *p =T2A(m_sFile);
.........
}
CString OpenFilter;OpenFilter = "bmp Files (*.bmp)|*.bmp|";//打开文件时的过滤器::SetCurrentDirectory(_T("..//image") );//设置默认打开路径为相对路径下的image文件夹!
//VC6.0下应该是::SetCurrentDirectory(".//image") ;少一个点CFileDialog myDialog(TRUE, _T("bmp"), _T(".bmp"),OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | OFN_PATHMUSTEXIST,OpenFilter, this);
if (myDialog.DoModal() == IDOK)//对话框创建成功{if (m_bInit)//如果重新调用了一幅图片,则把以前的数组空间释放,重新申请DeleteAllArr();m_sFile = myDialog.GetPathName();//GetFileNameUpdateData( FALSE );//从外部接收数据
USES_CONVERSION;//CString转char* (vs2005)char *p =T2A(m_sFile);.........
}
- 为CFileDialog类指定一个默认的文件夹
- 为CFileDialog类指定一个默认的文件夹
- CFileDialog的默认路径设为网络邻居
- CFileDialog的默认路径设为网络邻居
- 如何用CFileDialog得到一个文件夹的路径?
- 如何用CFileDialog得到一个文件夹的路径?
- CFileDialog的默认文件名问题
- CFileDialog占用文件夹的解决方法
- 关于 CFileDialog类 引起的默认路径问题
- 为SHBrowseForFolder 设置默认的文件夹
- 为用户的配置文件路径(原来在“Documents and Settings”文件夹的子目录)指定一个不同的文件夹
- 删除一个指定路径的文件夹
- C#打开一个指定的文件夹
- 怎么改变CFileDialog的默认路径
- CFileDialog保存时带有默认的文件名
- 打开一个指定的文件夹并选中里面的一个指定文件或文件夹
- CFileDialog类的使用
- CFileDialog类的使用
- ACdream 1188 Read Phone Number(字符串:模拟)
- 阿里巴巴2015校招笔试附加题2解答
- ubuntu 安装uget 和 flashgot 下载软件相当于windows中的迅雷
- 阿里上线笔试,欢迎大家指点
- ZOJ 3209 Dancing Links
- 为CFileDialog类指定一个默认的文件夹
- 安装配置samba服务
- javascript--瀑布流
- 2015阿里巴巴秋招在线笔试题
- sdutoj1020递推——神、上帝以及老天爷
- Langton's Ant
- ACdream1187(简单找规律)
- 数据结构----单向链表之 新建-插入-删除-排序(选择法)-合并-删除-销毁
- Codeforces Round #249 (Div. 2) D. Special Grid