「長いフォルダ名やファイル名を省略して、途中で「...」表示するには?」
フルパスでファイル名を表示する場合に途中で「...」表現をして表示するにはどうすればいいか。
回答
MinimizeName関数を使えば可能です。
UsesにFilectrlを追加すると使えます。
function MinimizeName(const Filename: TFileName; Canvas: TCanvas; MaxLen: Integer):
Filename:短縮する必要のあるフルパスファイル名
Canvas:描画領域のTCanvas
MaxLen:ファイル名を描画する領域の長さ(ピクセル単位)
ソース
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Filectrl;
・・・
・・・
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=MinimizeName('c:\abcdefghijklmno\a.txt',Canvas,Edit1.Width);
end;