![]() |
String länge setzen
hallöchen
ich mochte einen string bei einer bestimmten anzahl von pixeln (natürlich Font abhänig) abschneiden. dabei sollen aber die letzten drei zeichen die angezeigt werden '...' sein. gibts da chon eine function von delphi??? schon mal danke |
Re: String länge setzen
bei einem TStatic/TLabel gibt es eventuell was schau mal nach der Eigenschaft .EllipsisPosition ... in älteren Delphi-Versionen könnte man sowas für TStatic relativ leicht nachrüsten.
ansonsten siehe ![]() |
Re: String länge setzen
leider möchte ich das nict mit einem label ausgeben sondern mit Canvas. gibt das auch dort???
|
Re: String länge setzen
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; |
Re: String länge setzen
Da gab es mal die Methode MinimizeName (Unit FileCtrl), die war dafür geeignet, wenn ich mich recht entsinne. Zumindest unter Delphi 5 ist diese allerdings nicht dokumentiert.
[edit] Ach nee, die kürzt ja nur ggf. Pfadangaben. [/edit] |
Re: String länge setzen
Wenn du es sowieso auf dem Canvas ausgibst, dann nimm doch gleich
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz