7

TFileOpenDialogのFilenameプロパティを設定して実行すると、Filenameフィールドで選択されたファイル名の最後の14文字だけが表示されます。押すHomeと文字列全体が表示されているのがわかりますが、もちろんちゃんと表示したいです。2台のWindows7と1台のWindows8マシンでテストしたところ、同じ結果が得られました。問題を解決する方法について誰かが提案やヒントを持っていますか?

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

問題を示す初期表示: 問題を示す画像

ホームを押した後の文字列全体: どのように見えるべきだと思いますか

4

1 に答える 1

7

TFileOpenDialogIFileDialogこれは、 WindowsVista以降のMicrosoftのインターフェイスの単なる薄いラッパーです。ダイアログが表示されたときのダイアログ自体の動作を制御することはできません。最後の文字だけが表示されている場合(そしてWin7ボックスでその動作を再現できた場合)、それは単にダイアログが一般的にどのように機能するかということです。ただし、IFileDialogそうは言っても、絶対フォルダーパスとファイル名だけを別々に設定することはできます。そのように使用する必要がありますがTFileOpenDialog、残念ながら、その分離を作成または公開しません(Embarcaderoバグ?)。したがって、その機能が必要な場合は、IFileDialog直接使用する必要があり、まったく使用TFileOpenDialogしないでください。

于 2013-03-12T20:26:12.130 に答える