![]() |
Wie Punkte hinter ListView Eintraegen abschneiden?
Hi,
Wie kann ich es realisieren dass die Eintraege in einer ListView keine ... haben wenn die ColumnWidth nicht breit genug ist um den Eintrag vollstaendig anzeigen zu lassen. Mit Copy/Pos/Del abschneiden? Oder gehts auch einfacher? |
Re: Wie Punkte hinter ListView Eintraegen abschneiden?
Du könntest versuchen mie Länge der Teilstrings anpassen auf Breite / (Breite pro Zeichen)
|
Re: Wie Punkte hinter ListView Eintraegen abschneiden?
Hi,
Zitat:
|
Re: Wie Punkte hinter ListView Eintraegen abschneiden?
Nein nicht die Spaltengröße, sondern die Länge der Strings (Items). Sind diese < 255 Zeichen sind dies ShortStrings, bei welchen an Stelle 0 die Länge des Strings steht. man kann also einfach die Länge anpassen, ohne das der Originalinhalt verloren get.
|
Re: Wie Punkte hinter ListView Eintraegen abschneiden?
Ich stehe auf dem Schlauch.
Hast du ne Beispielzeile Code fuer mich? Danke! |
Re: Wie Punkte hinter ListView Eintraegen abschneiden?
Eigentlich finde ich die Ellipsis am Ende des abgeschnittenen Textes korrekt - aber vielleicht hilft dir das hier weiter:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.ListViewCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); var r: TRect; begin r := Item.DisplayRect(drLabel); Sender.Canvas.TextRect(r, r.Left + 2, r.Top + 2, Item.Caption); DefaultDraw := false; end; |
Re: Wie Punkte hinter ListView Eintraegen abschneiden?
Danke Marabu,
aber was ist denn drlabel? |
Re: Wie Punkte hinter ListView Eintraegen abschneiden?
Ich habe mal meinen (theoetischen) Vorschlag praktisch ausprobiert und vestellen müssen, das es nicht ganz so geht, da man die Länge der Items nicht mit setLength manipulieren kann. Man kann dies zwar umgehen, aber es ist sehr unellegant. Außerdem gibt es keinen Event für das Resizen der Columns. Deshalb mußt du wohl mit den ... leben müssen oder Achims Vorschalg ausprobieren.
|
Re: Wie Punkte hinter ListView Eintraegen abschneiden?
Hi,
werde ich dann :-) Jedoch habe ich das in einem anderen Programm bereits gesehen dass die ein ListView nehmen und es auch keine ... gibt! Danke euch vielmals! //Edit: Kann mir noch schnell wer sagen was das drlabel ist? |
Re: Wie Punkte hinter ListView Eintraegen abschneiden?
drLabel ist eine Konstante füt TDisplayCode für den Parameter Code von TListItem.DisplayRect
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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