掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
文字列省略時の...の位置 (ID:32737)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
先頭の省略は簡単だけど、中の省略はチョット面倒。 function MinimizeString(const aStr: string; Canvas: TCanvas; MaxLen: Integer): string; const MINIMIZESTR = '...'; var cLen: Integer; p: PChar; begin result := aStr; if (Canvas.TextWidth(aStr) < MaxLen) then exit; p := PChar(aStr); cLen := Canvas.TextWidth(MINIMIZESTR); while (Canvas.TextWidth(p) + cLen > MaxLen) do begin if IsDBCSLeadByte(Byte(p^)) then inc(p, 2) else inc(p); end; result := MINIMIZESTR + p; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.