请教一个CFILEDIALOG类的问题

请教一个CFILEDIALOG类的问题

问题描述:

图片说明

我用CDIALOGFILE类,做了一个保存对话框,代码如下:
CFileDialog saveD(FALSE, "txt", "未命名", 0, "TXT Files(*.txt)|*.txt|All Files(*.*)|*.*");
请问下我只设置了ALL FILES 和TXT FILES为何 最下面还有一行乱码?请问应该怎么解决。

 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 (*.*)|*.*||";文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用 ; 分割,每种文件类型间用 | 分隔,**末尾用 || 指明**。

没有设置末尾,就是“||”标志。