gpt4 book ai didi

c++ - MFC CFileDialog 打开只选择文件

转载 作者:行者123 更新时间:2023-11-27 23:16:32 28 4
gpt4 key购买 nike

使用 CFileDialog 作为文件打开,我需要允许用户仅选择显示在对话框列表区域中的文件,例如通过单击它。我们不希望用户能够在文件名控件中键入名称。 OPENFILENAME (OFN) 结构有几个不同的标志 ( http://msdn.microsoft.com/en-US/library/ms646839%28v=vs.80%29.aspx ),但我没有看到阻止用户输入文件名的标志。

我看到的最接近的是 OFN_FILEMUSTEXIST,但它只指定文件存在;它仍然允许用户输入名称。

有什么办法可以在不继承新类的情况下做到这一点吗?

更多信息

我们需要防止他们输入文件名,因为他们可能会打开不合适的文件。使用 lpszFilter 参数,我们过滤文件名,因此它只显示文件名(不是扩展名)中带有 ABC 的文件。因此,如果他们输入文件名,他们可以输入类似 myCoolFileDEF.ext 的内容。如果文件存在,它将继续并让他们打开它(对话框将关闭而不会出现错误消息),即使他们只应该打开文件名中带有 ABC 的文件。

最佳答案

由于您使用的是 MFC,只需 inherit a CFileDialog and disable the file name edit control and combobox .我看不出使用 CFileDialog 并编写另一个 OFNHookProc 回调的意义,尽管您可以从 GetOpenFileName 开始如果你愿意的话。

关于c++ - MFC CFileDialog 打开只选择文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15935924/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com