【发布时间】:2011-08-30 09:44:24
【问题描述】:
在新的 Windows 版本上(至少在 Windows 7 上如此,但我有理由相信它会在 Vista 上发生)IFileDialog(因此IFileOpenDialog 和IFileSaveDialog)会自动将通配符模式附加到文件中如果他们没有找到,请输入描述。
这是一个很好的功能,可以让使用更轻松,同时增强指南的一致性和执行性。但有时这是不希望的。如果接受的扩展名很多(如“所有图像”),则相应的组合框条目太长。最糟糕的是,这甚至没有记录在案,我只在CodeProject article 找到了关于它的注释(证实了我的观察)。
在 Windows 7 上,向后兼容性检查(如 CodeProject article 所述)不是那么强大,并且似乎任何手动附加到描述的模式都会阻止自动附加。对another question 的回答已经指出了这一点。然而,这种解决方案远非理想。 (我决定再次问同样的问题,因为我认为 previous one 的标记和描述不佳:(1)我首先通过查看 StackOverflow 提出的类似问题找到了它,我之前在 Google 中的查询没有找到它并且( 2)这个问题是普遍的,不限于德尔福。)
如何预防?
请注意,我必须使用 IFileDialog,因为我需要它提供的自定义设置。 (因此切换到由GetOpenFileName 和GetSaveFileName 生成的对话框不是一种选择。)
【问题讨论】:
-
这是一个骗子,不管你如何证明它是正确的。您链接到的另一个问题提供了一个不是 Delphi 特定的答案,并且您在这里确实没有提出任何不同的要求(或提供了除 CodeProject 链接之外的任何其他信息)。
-
那里提供的答案并不令人满意。它甚至没有被接受,这证明了这一点。而且我确实相信必须有一些解决方案,只有以大大减少看到它的人数的方式提出问题。
-
所以也许让我们等一段时间,如果这个问题确实引起了更多的关注,那就好了。如果没有,那么让我们关闭它。
-
你最好把赏金放在另一个问题上。
-
@David Heffernan:我考虑过。但没有这样做,因为我在谷歌或这里的初始搜索中没有找到这个问题。也许我应该重新考虑一下。
标签: winapi windows-7 windows-vista filedialog