当前位置: 代码迷 >> 综合 >> vc CFileDialog 打开文件默认文件规则
  详细解决方案

vc CFileDialog 打开文件默认文件规则

热度:3   发布时间:2023-12-15 23:09:13.0
先上例子代码,在一个MFC对话框程序中,添加如下代码,打开文件:
   static TCHAR BASED_CODE szFilter[] = _T("image(*.bmp, *.jpg, *.png)|*.bmp;*.jpg;*.png|All Files (*.*)|*.*||");CFileDialog dlg(TRUE,"bmp", 0, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);dlg.DoModal();

微软对CFileDialog构造函数的原型:

explicit CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt = NULL,LPCTSTR lpszFileName = NULL,DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter = NULL,CWnd* pParentWnd = NULL,DWORD dwSize = 0,BOOL bVistaStyle = TRUE
);
参数: LPCTSTR lpszFilter = NULL, 即关于文件类型展现的过滤字符串

      如上,对于szFilter的书写规则,决定着打开的对话框中,在选择框中选择(image(*.bmp, *.jpg, *.png) )时,对话框中文件类型的展现。在经过多次调试后发现规律。

1、szFilter中 如 image(*.bmp, *.jpg, *.png),出现在 “|”前,包含在括号中的内容为提示内容

2、提示内容后 且”|“后,对于出现在文件对话框中的文件类型, *.bmp;*.jpg;*.png 每个文件类型中间以分号”“隔开