![]() |
Wünsche / Probleme mit TListView: Spaltenformatierung
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Community,
trotz Suche an mehreren Stellen finde ich keine Lösung zu ein paar Sachen. Ich hoffe auf kompetente Hilfe... 1. Die ersten beiden Spalten Item und [0] (im Bild: Auge und Name) können zur Laufzeit verändert werden, alle anderen springen nach Veränderung wieder zurück in die ursprüngliche Breite. Im Coding behandele ich diese aber nicht unterschiedlich, die Breite der Spalte "Größe" / Spalte[3]kann ich auch im Coding nicht beeinflussen:
Delphi-Quellcode:
Nach Dateenfüllung:
(*Breite der Spalten ist konstant, mit Ausnahme des Spielernamens (wird gleich variabel "umgebaut")*)
Form_Hauptuebersicht.ListView_Jugendspieler.column[0].width:=50; // Beobachtet? Form_Hauptuebersicht.ListView_Jugendspieler.column[1].width:=15; // Name, wird gleich dynamisiert For i:=2 to 4 do Form_Hauptuebersicht.ListView_Jugendspieler.column[i].width:=30; // Nation, Alter, Größe For i:=5 to 16 do Form_Hauptuebersicht.ListView_Jugendspieler.column[i].width:=20; // Skills Form_Hauptuebersicht.ListView_Jugendspieler.column[17].width:=100; // Wert in Euro
Delphi-Quellcode:
Autosize ist bei allen Spalten FALSE.
// Spaltenbreite an Länge des längsten Names anpassen
Form_Hauptuebersicht.ListView_Jugendspieler.column[1].width:=ColumnTextWidth; Width ist bei allen Spalten >0 (nicht -1 und -2). TListView.OwnerDraw ist FALSE. 2. Die Werte in den Spalten sind nicht mehr zentriert (waren das aber mal). Was muss ich einstellen, damit die Werte zentriert dargestellt werden. 3. Die verwendete TListView (siehe Bild) möchte ich gerne auf die notwendige Größe reduzieren, ohne den schwarzen Rand unten und rechts. Wie kann ich das optimal gross machen. Viele Grüße David |
AW: Wünsche / Probleme mit TListView: Spaltenformatierung
Rechts!
In dem du der ListView mitteilst das die letzte Column sich automatisch auf die Weite des Header setzen soll
Delphi-Quellcode:
ListView_SetColumnWidth(hListView, iCol, LVSCW_AUTOSIZE_USEHEADER);
Höhe! Du weist doch wie viel maximale Einträge du der LsitView hinzufügst/ haben willst die Maximalen Einträge * ItemHeight ergibt die gesamthöhe der ListView. Wenn du also 10 Sichtbare Einträge in der ListView haben willst dann das mal die höhe der Items. So hoch muss dann die ListView sein. gruss |
AW: Wünsche / Probleme mit TListView: Spaltenformatierung
...schade, zu den ersten beiden Fragen scheint es keine Antwort zu geben.
Zu der dritten (Danke!) gibt es eine, die ich leider nicht umsetzen kann. Wie kriege ich ItemHeight denn raus? Die Fontgröße ist 10, aber das macht rechnerisch alles keinen Sinn. Auch die Breite kann ich anhand Deines Codebeispiels nicht ermitteln - da fehlen mir offensichtlich reichlich Kenntnisse. So kann ich es nicht verwenden, und auch das Suchen über Google oder hier im Forum hat mich leider nicht schlauer gemacht. Hast Du für beides ein einfaches Codebeispiel zur Hand? Ein verzweifelter David |
AW: Wünsche / Probleme mit TListView: Spaltenformatierung
1. Ich sehe da keine Frage.
2. Das kann man bei den Spalten im OI einstellen. 3.2. Völlig banale Lösung: Neues Element einfügen und y-Position holen. |
AW: Wünsche / Probleme mit TListView: Spaltenformatierung
Hmm..
Wie hoch ist denn
Delphi-Quellcode:
Wenn es Height gibt.. denke aber schon.
ListView_Jugendspieler.column[0].Height
gruss |
AW: Wünsche / Probleme mit TListView: Spaltenformatierung
Liste der Anhänge anzeigen (Anzahl: 1)
...auch wenn ich oft denke, dass ich der einzig Blöde bin, hier die Lösungen für Andere.
Frage 1: Wieso springen die Spalten nach der Vergrößerung wieder zurück? Antwort: Ich hatte MinWidth und Maxwidth auf ungleich 0 gestellt, das habe ich irgendwann zufällig beim Analysieren gesehen. Auf 0 stellen (Default), und das irritierende Verhalten endet. Frage 2: Wieso sind die Werte in den Spalten nicht zentriert, obwohl die Eigenschaft ListView.Column[].Alignment auf taCenter steht? -> ist noch nicht gelöst. Frage 3: Habe ich ähnlich wie vorgeschlagen errechnet, danke! Eine Eigenschaft ListView_Jugendspieler.column[0].Height gibt es allerdings nicht! Viele Grüße David |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:54 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