7

当我设置 TFileOpenDialog 的 Filename 属性然后执行它时,我只看到在 Filename 字段中选择的文件名的最后 14 个字符。如果我按下Home,我可以看到整个字符串都在那里,但我当然希望它能够正确显示。我已经在两台 Windows 7 和一台 Windows 8 机器上进行了测试,结果相同。有没有人对如何解决这个问题有任何建议或提示?

FileOpenDialog1.FileName :=
  'C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\available_downloads_en.htm';
if FileOpenDialog1.Execute then
  ShowMessage(FileOpenDialog1.FileName);

初始显示显示问题: 图片显示问题

按 Home 后的整个字符串: 我认为它应该是什么样子

4

1 回答 1

7

TFileOpenDialog只是IFileDialogWindows Vista 及更高版本上 Microsoft 界面的一个薄包装。您无法控制对话框本身在显示时的行为方式。如果它只显示最后一个字符(并且我能够在我的 Win7 机器上重现该行为),那么这就是对话框的一般工作方式。但是,话虽如此,IFileDialog确实允许单独设置绝对文件夹路径和仅文件名,这就是它们应该被使用的方式,但TFileOpenDialog不幸的是,它不会产生或暴露这种分离(Embarcadero 错误?)。因此,如果您需要该功能,则必须IFileDialog直接使用而根本不使用TFileOpenDialog

于 2013-03-12T20:26:12.130 回答