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

先上例子代码,在一个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 每个文件类型中间以分号”“隔开


你可能感兴趣的:(vc CFileDialog 打开文件默认文件规则)