【发布时间】:2013-04-10 20:38:19
【问题描述】:
使用 CFileDialog 作为文件打开,我需要允许用户只选择显示在对话框列表区域中的文件,例如单击它。我们不希望用户能够在 File Name 控件中键入名称。 OPENFILENAME (OFN) 结构有几个不同的标志 (http://msdn.microsoft.com/en-US/library/ms646839%28v=vs.80%29.aspx),但我没有看到阻止用户输入文件名的标志。
我看到的最接近的是OFN_FILEMUSTEXIST,但它只指定文件存在;它仍然允许用户输入名称。
有什么方法可以在不继承新类的情况下做到这一点?
更多信息
我们需要防止他们输入文件名,因为他们可能会打开不合适的文件名。使用lpszFilter 参数,我们过滤文件名,因此它只显示文件名中带有 ABC 的文件(而不是扩展名)。因此,如果他们输入文件名,他们可以输入类似myCoolFileDEF.ext 的内容。如果文件存在,它将继续并让他们打开它(对话框将关闭而没有错误消息),即使他们只应该打开文件名中带有 ABC 的文件。
【问题讨论】:
标签: c++ visual-c++ mfc