トップへ(mam-mam.net/)

長いフォルダ名やファイル名を省略して、途中で「...」表示するには?

検索:

「長いフォルダ名やファイル名を省略して、途中で「...」表示するには?」

フルパスでファイル名を表示する場合に途中で「...」表現をして表示するにはどうすればいいか。

回答

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;