MFC中CFileDialog的用法

时间:2022-05-03
本文章向大家介绍MFC中CFileDialog的用法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );

参数意义如下:

  • bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框。
  • lpszDefExt 指定默认的文件扩展名。
  • lpszFileName 指定默认的文件名。
  • dwFlags 指明一些特定风格。
  • lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。参数格式如: "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,末尾用 || 指明。
 void CFoxitDlg::OnBtn3()   
{  
 // TODO: Add your control notification handler code here 
 CString filter;  
 filter="文本文档(*.txt)|*.txt|PDF文档(*.pdf)|*.pdf||";  
 CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter);  
 if(dlg.DoModal()==IDOK)  
 {  
  CString str;  
  str=dlg.GetPathName();  
  MessageBox(str);  
 }  
}  

参考:http://blog.sina.com.cn/s/blog_71547a630100pzdr.html