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
posted @ 2012-03-13 14:09  sinian  阅读(601)  评论(0编辑  收藏  举报