Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListView: Erste Spalte rechtsbündig (https://www.delphipraxis.net/148128-listview-erste-spalte-rechtsbuendig.html)

LokutusvB 23. Feb 2010 09:50


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?

DeddyH 23. Feb 2010 09:57

Re: ListView: Erste Spalte rechtsbündig
 
Füg doch einfach als erstes eine Dummy-Spalte mit Breite 0 ein.

LokutusvB 23. Feb 2010 10:07

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.

DeddyH 23. Feb 2010 10:17

Re: ListView: Erste Spalte rechtsbündig
 
Und wenn Du MinWidth der Spalte erst auf 0 setzt? Zumindest in D2007 funktioniert das.

LokutusvB 23. Feb 2010 10:18

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?

Luckie 23. Feb 2010 10:21

Re: ListView: Erste Spalte rechtsbündig
 
Zitat:

Zitat von LokutusvB
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.

Warum geht es nicht? Gibt es die Eigenschaft nicht oder zeigt sie keine Wirkung?

DeddyH 23. Feb 2010 10:26

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.

LokutusvB 23. Feb 2010 10:34

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.

Sharky 23. Feb 2010 10:41

Re: ListView: Erste Spalte rechtsbündig
 
Ich würde das ganze dadurch lösen das ich das zeichnen (Delphi-Referenz durchsuchenOwnerDraw) selber übernehme.
Dann kann ich den Text dort ausgeben wo ich es möchte.

LokutusvB 23. Feb 2010 10:46

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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:42 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz