Wie Spaltenbreite bei virtuellem ListView einstellen?
6. Feb 2009, 22:44
Liebe Delphi-Experten,
zuerst vielen Dank für die vielen nützlichen Tipps, die ich beim
Lesen dieses Forums schon bekommen habe!
Ich schreibe mit einer Frage zu TListView:
Ich verwende eine virtuelle ListView, die ich im vsList-Modus
betreibe. Die (vielen) Items werden wie gewünscht spaltenweise
angezeigt, aber: Die Breite der Spalten ist recht "willkürlich",
oft werden Items mit "..." gekürzt, weil die Spaltenbreite zu
klein ist, manchmal sind die Spalten unnötig breit.
Daher die Frage: Kann ich dem ListView irgendwie mitteilen, wie
breit es die Spalten einstellen soll? (Ich kann das leicht vorher
bestimmen, indem ich bei allen Einträgen canvas.TextWidth berechne und
das Maximum nehme. Aber ich weiß eben nicht, wie ich diese Information
an das ListView weitergeben könnte.)
Zur Sicherheit: Ich meine nicht die Spalten im vsReport-Modus.
Deren Breiten kann man natürlich mit column.width einstellen.
Ich meine stattdessen die Spalten im vsList-Modus (die alle
gleich breit sind.)
Ich habe mit der Suchfunktion im Forum gesucht, wurde aber dazu
leider nicht fündig. Es wäre toll, wenn jemand von Euch eine Idee
hätte. (Zur Information: Ich arbeite mit Delphi 6 Personal
Edition unter Windows XP.)
Im Anhang ist ein Minimalprogramm, das das Problem verdeutlicht.
Grüße,
Thomas
|