![]() |
ListView: Erste Spalte rechtsbündig
Hallo,
ich möchte gern bei einer ListView die Einträge der ersten Spalte rechtsbündig darstellen. Bei allen anderen Spalten geht das einfach über die Eigenschaft Alignment. Leider geht das aber nicht bei der ersten Spalte. Gibt es eine Möglichkeit, wie ich den Inhalt der ersten Spalte rechtsbündig darstellen kann? |
Re: ListView: Erste Spalte rechtsbündig
Füg doch einfach als erstes eine Dummy-Spalte mit Breite 0 ein.
|
Re: ListView: Erste Spalte rechtsbündig
Das war auch mein erster Gedanke. Allerdings erweitert mein Delphi diese Spalte dann autmatisch auf einen Wert von 80. Da dachte ich an ein Dummy von 1, allerdings sieht das in der Tabelle nicht gerade schön aus.
|
Re: ListView: Erste Spalte rechtsbündig
Und wenn Du MinWidth der Spalte erst auf 0 setzt? Zumindest in D2007 funktioniert das.
|
Re: ListView: Erste Spalte rechtsbündig
Ja, den Gedanken hatte ich auch so eben und wollte hier niederschreiben, das es so funktioniert, zumindest so ähnlich. Ich habe zur Laufzeit einfach die Width-Eigenschaft auf 0 gesetzt. :)
Allerdings finde ich das nicht als "saubere Lösung". Gibt es noch einen anderen Weg? |
Re: ListView: Erste Spalte rechtsbündig
Zitat:
|
Re: ListView: Erste Spalte rechtsbündig
Im Source steht bei TListColumn.SetAlignment eine Abfrage auf Index <> 0, deshalb hat diese Einstellung bei der ersten Spalte keine Auswirkung.
|
Re: ListView: Erste Spalte rechtsbündig
Ach so ist das mit der 0, obwohl MinWidth auf 0 steht.
An Luckie: Die Eigenschaftsänderung der ersten Spalte zeigt einfach keine Wirkung. In Deplhi lässt sie sich nicht ändern. Ändere ich sie zur Laufzeit, zeigt die Änderung keine Wirkung, die Einträge sind weiterhin linksbündig. |
Re: ListView: Erste Spalte rechtsbündig
Ich würde das ganze dadurch lösen das ich das zeichnen (
![]() Dann kann ich den Text dort ausgeben wo ich es möchte. |
Re: ListView: Erste Spalte rechtsbündig
Das habe ich eben probiert, mit OnCustomDraw. Mit jeder Spalte funktioniert es, nur nicht mit der ersten Spalte. Diese bleibt weiterhin linksbündig.
|
Re: ListView: Erste Spalte rechtsbündig
Zitat:
|
Re: ListView: Erste Spalte rechtsbündig
Bisher noch leer, ich dachte die Eigenschaft auf True setzen reicht aus. Allerdings lese ich mir gerade deine verlinkte Seite durch, wie das mit dem OwnerDraw genau funktioniert. Ist denn OnCustomDraw nicht eigentlich das gleiche?
|
Re: ListView: Erste Spalte rechtsbündig
Damit sagst Du nur das Du selber zeichnen möchtest. Dafür muss dann aber auch etwas in OnOwnerDraw stehen.
|
Re: ListView: Erste Spalte rechtsbündig
Das wird mir dann für so eine kleine optische Sache doch zu umständlich. Ich dachte, ich könnte einfach mit OnCustomDrawSubItem den Text rechtsbündig gestalten, keine Chance. Selbst auf den Delphi-Seiten von about.com oder auch
![]() |
Re: ListView: Erste Spalte rechtsbündig
Ich habe gerade dasselbe Problem und habe dazu folgendes gefunden:
![]() Das kann doch nicht sein?! Da muss es doch eine Lösung für geben, die Spalte rechtsbündig hinzubekommen? Was macht man zum Beispiel in Sprachen, die generell rechtsbündig geschrieben werden? |
Re: ListView: Erste Spalte rechtsbündig
Probier mal dies hier:
Delphi-Quellcode:
Das müsste funktionierten.
column:=ListView1.Columns.Add;
column.Alignment := taRightJustify; |
Re: ListView: Erste Spalte rechtsbündig
Zitat:
|
Re: ListView: Erste Spalte rechtsbündig
Vielleicht ist das in #7 nicht ganz klar formuliert gewesen:
Zitat:
|
Re: ListView: Erste Spalte rechtsbündig
Zitat:
|
Re: ListView: Erste Spalte rechtsbündig
Dann müsstest Du ja das entsprechende VCL-Package neu kompilieren.
|
Re: ListView: Erste Spalte rechtsbündig
Zitat:
Doch, einen Effekt hat es: Man kann dann dann für die erste Spalte das Alignment einstellen und der Wert wird übernommen ... aber es hat keine Auswirkungen :mrgreen: |
Re: ListView: Erste Spalte rechtsbündig
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 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