MFC CFileDialog 阻止打开 *.ext.other_ext 文件

Posted

技术标签:

【中文标题】MFC CFileDialog 阻止打开 *.ext.other_ext 文件【英文标题】:MFC CFileDialog prevent from opening *.ext.other_ext files 【发布时间】:2012-03-24 16:02:32 【问题描述】:

我正在尝试使用以下代码创建文件对话框:

CFileDialog fd (TRUE, NULL, _T("*.pid"), OFN_FILEMUSTEXIST | OFN_HIDEREADONLY);

fd.m_ofn.lpstrInitialDir=m_CurrentDir;

if (fd.DoModal() == IDOK)
...

当对话框打开时,我会看到 *.pid 和 *.pid.saved 文件。 有没有什么可以阻止对话框显示 *.pid.saved 文件?

谢谢!

【问题讨论】:

【参考方案1】:

您必须指定对话框应该使用的过滤器:

LPCTSTR szFilter = _T( "PID Files (*.pid)|*.pid|All Files (*.*)|*.*" );
DWORD dwFlags =  OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
CFileDialog dlg( TRUE, _T( "pid" ), NULL, dwFlags, szFilter );  
dlg.DoModal();
...

【讨论】:

谢谢 Eddie,你也让我开心。这很简单,但我挣扎了一段时间。

以上是关于MFC CFileDialog 阻止打开 *.ext.other_ext 文件的主要内容,如果未能解决你的问题,请参考以下文章

MFC中CFileDialog使用方法

MFC怎么用CFileDialog打开一个txt文件,直接用系统自带的记事本打开就行~

MFC读取文件中利用CFileDialog类打开文件,出现对话框后,点击取消出现问题

如何在 MFC 中使用 CfileDialog 选择特定文件

MFC CFileDialog的问题...

MFC文件的读写操作,类的序列化与反序列化,CFile,CFileDialog,CArchive,CStdioFile