我通常使用TOpenDialog
其Filter
属性来缩小用户的可用文件.我想进一步按内容过滤这些文件.
例如,打开文件对话框应仅显示带有".bin"文件扩展名的文件,其前4个魔术字节为0x7F,0x45,0x4C,0x46(ELF可执行文件).
条件并不总是必须识别某些可执行格式,而是其他二进制数据.
有没有在Delphi/VCL中执行此操作的标准方法,还是我必须推迟内容检查,直到用户选择文件为止?
没有办法实现你想要的.系统文件对话框不允许您根据其内容过滤显示的文件.
这OnIncludeItem
件事似乎很有意义,可以满足您的需求.但是,它存在以下问题.
CDN_INCLUDEITEM
通知.此通知由旧版XP公共对话框触发,但不是由现代公共项对话框触发.因此,使用该事件会将旧版XP常用对话框强制插入到您的程序中.如果没有其他原因,这有整容的缺点.CDN_INCLUDEITEM
对文件没有影响.它只影响非文件系统shell对象.形成文件:该对话框始终包含具有SFGAO_FILESYSTEM和SFGAO_FILESYSANCESTOR属性的项目,无论CDN_INCLUDEITEM返回的值如何.
相关问题:
归档时间: |
|
查看次数: |
950 次 |
最近记录: |