当我设置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后的整个字符串:

TFileOpenDialog只是围绕微软IFileDialogWindows Vista及更高版本界面的一个薄薄的包装.您无法控制对话框在显示时的行为方式.如果它只显示最后一个字符(并且我能够在我的Win7盒子上重现这种行为),那么这就是对话框的一般工作方式.然而,说到这一点,IFileDialog确实允许绝对文件夹路径和文件名单独设置,这就是它们应该如何使用,但TFileOpenDialog不幸的是不会产生或暴露这种分离(Embarcadero bug?).因此,如果您需要该功能,则必须IFileDialog直接使用而不能使用TFileOpenDialog.
| 归档时间: | 
 | 
| 查看次数: | 778 次 | 
| 最近记录: |