habe schon selbst eine lösung im internet gefungen. ich stelle sie mal für andere rein:
Delphi-Quellcode:
function TextCutB(Canvas: TCanvas; Len: Word; Text: String): String;
var
k: Integer;
begin
Result := Text;
with Canvas do if TextWidth(Text) > Len then
begin
for k := Length(Text) downto 1 do
if TextWidth(Copy(Text, 1, k) + '...') > Len then Continue
else
begin
Result := Copy(Text, 1, k) + '...';
Exit;
end;
end;
end;