【问题标题】:SaveDialog suggested filenames to match extension filterSaveDialog 建议的文件名以匹配扩展过滤器
【发布时间】:2018-08-10 14:02:33
【问题描述】:

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

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

【问题讨论】:

  • 没有。您可以阅读有关使用该对话框 here 可以做什么的详尽说明。

标签: delphi filter tsavedialog


【解决方案1】:

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

你可以:

  • 从头开始实现自己的对话框
  • 使用像 DexExpress 这样不免费的组件
  • 执行后检查保存对话框的结果,验证用户选择文件,如果文件无效,则向用户显示正确的消息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    相关资源
    最近更新 更多