2

当我的程序显示 SaveDialog 来保存文件时,我可以使用 Filter 和 Filter Index 属性将显示的文件限制为某些扩展名。此外,当我设置 DefaultExt 属性时,当用户键入文件名时,文件夹中的匹配文件将作为建议显示在下拉框中,并且可以用鼠标选择一个。例如,如果过滤器设置为“*.xml”,那么只有与该扩展名匹配的文件名才会出现在文件对话框列表中。但是如果用户键入“Test”,那么您将获得一个建议文件的下拉列表,例如:TestA.doc TestB.xml Test123.pdf TestX.xml(如果这些文件存在于文件夹中)

但我希望建议列表仅包含与过滤器匹配的文件,例如 *.xml。那可能吗?问题是用户可能会点击错误的建议并使用错误的扩展名保存他们的文件。

4

1 回答 1

2

TSaveDialog 内部使用 Windows 的IFileDialog接口。该界面不提供任何方式来更改如何在文件名字段的建议下拉文本框中过滤文件。

你可以 :

  • 从头开始实现自己的对话框
  • 使用像 DexExpress 这样不免费的组件
  • 执行后检查保存对话框的结果并验证用户选择文件并在文件无效时向用户显示正确的消息
于 2018-08-11T16:58:38.050 回答