CFileDialog的构造函数接收6个参数如下:
CFileDialog( BOOL bOpenFileDialog, //打开为TRUE保存为FALSE
LPCSTR lpszDefExt = NULL, //文件名的缺省扩展名
LPCSTR lpszFileName = NULL, //初始文件名.(若缺省则使用lpszFilter中的第1个).
DWORD dwFlags = //风格标志.
LPCSTR lpszFilter = NULL, //按类型排序的文件列表的过滤器.以||结束.
CWnd* pParentWnd = NULL //父窗口指针
);
其中常用的几格风格dwFlags如下:
OFN_ALLOWMULTISELECT 允许多选
OFN_CREATEPROMPT 提示用户建立的文件名不存在,允许使用对话框创建新文件名(在"打开"对话框中才有效)
OFN_EXTENSIONDIFFERENT 用户选择的文件不使用缺省的扩展名时.用对话框来识别
OFN_FILEMUSTEXIST 用户必须使用一个现有的文件名
OFN_HIDEREADONLY 隐藏只读检查框
OFN_NOCHANGEDIR 把当前目录设置为对话框被激活时的有效目录
OFN_NONETWORKBUTTON 隐藏Network按钮
OFN_NOREADONLYRETURN 拒绝只读文件
OFN_NOTESTFILECREATE 对话框不创建一个测试文件检查错误
OFN_NOVALIDATE 允许对话框在文件名中返回非法字符
OFN_OVERWRITEPROMPT 在保存模式中显示覆盖确认(在"保存"对话框中才有效)
OFN_PATHMUSTEXIST 拒绝不存在的路径名
OFN_READONLY 初始化时只读检查框是打开的
OFN_SHOWHELP 对话框显示一个帮助按钮
要看更详细的可以点这里
过滤器的格式如下:
"Text Files (*.txt)|*.txt|All Files (*.*)|*.*||"
DoModal后获取成果用的函数:
GetPathName() //文件路径+文件名+后缀
GetFileTitle() //文件名
GetFileName() //文件名+后缀
GetFileExt() //后缀
GetFolderPath() //目录名(必须搭配OFN_EXPLORER风格,选择目录用的)