CFileDialog构造函数如下:
CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORDdwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd*pParentWnd = NULL )
参数解析:
第一个参数设置为TRUE是打开文件对话框,FALSE是保存文件对话框。
第二个参数是默认的扩展名,你可以换成你自己的扩展名或设置 为NULL和 0
第三个参数是默认的文件名,你也可以。。。。。
第四个参数是打开的方式,具体情况你的查帮助或设置为NULL
第五个参数是可选的扩展名,注意字符串的末尾必须是||
第六个是父窗口的指针,一般设置为NULL或 0
另外,CFileDialog的成员m_ofn可以用来个性化文件打开/保存对话框。
例如:
- CFileDialog dlg(bOpen,"*.csv",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "CSV (逗号分隔符)(*.csv)|*.csv|All files (*.*)|*.*||");
- int structsize=0;
- DWORD dwVersion,dwWindowsMajorVersion,dwWindowsMinorVersion;
- //检测目前的操作系统,GetVersion具体用法详见MSDN
- dwVersion = GetVersion();
- dwWindowsMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
- dwWindowsMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
- // 如果运行的操作系统是Windows NT/2000
- if (dwVersion < 0x80000000)
- structsize =88;//显示新的文件对话框
- else
- //运行的操作系统Windows 95/98
- structsize =76;//显示老的文件对话框
- dlg.m_ofn.lStructSize=structsize;
- if(dlg.DoModal()==IDOK)
- {
- strFile = (CString)dlg.m_ofn.lpstrFile;
- return TRUE;
- }
- return FALSE;
http://blog.youkuaiyun.com/andrew_85/article/details/5462367