此问题仅发生在以前在 Delphi 7 下设计并迁移到在 WinXP 上运行的 Delphi 2007 的应用程序上。
我尝试了很长时间来解决这个问题,但没有运气。
据我所知,Topendialog 是一个 Win32 对话框包装器,它应该继承 windows 文件夹选项,在我的例子中,它设置为显示所有文件的文件扩展名。
现在,如果我创建一个新应用程序并在其上放置一个 Topendialog,当它运行时,它会按预期显示文件扩展名。
如果我将相同的对话框放到现有应用程序上并运行,它不会显示文件扩展名。
如果事实上如果我在调用对话框之前将文件名字符串写入文件名属性a la'Myfile.txt',当显示对话框时,文件名显示为'Myfile',扩展名不会显示,也不会显示任何文件名单。
有没有其他人看起来有这种行为?
有人有任何解决方法吗?
编辑:上传的图像显示了新项目和现有项目的 Topendialog 之间的差异。