AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Wünsche / Probleme mit TListView: Spaltenformatierung
Thema durchsuchen
Ansicht
Themen-Optionen

Wünsche / Probleme mit TListView: Spaltenformatierung

Ein Thema von Laaeris · begonnen am 16. Jun 2017 · letzter Beitrag vom 27. Jul 2017
Antwort Antwort
Laaeris

Registriert seit: 10. Dez 2011
24 Beiträge
 
#1

Wünsche / Probleme mit TListView: Spaltenformatierung

  Alt 16. Jun 2017, 13:41
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:
  (*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
Nach Dateenfüllung:

Delphi-Quellcode:
  // Spaltenbreite an Länge des längsten Names anpassen
  Form_Hauptuebersicht.ListView_Jugendspieler.column[1].width:=ColumnTextWidth;
Autosize ist bei allen Spalten FALSE.
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
Miniaturansicht angehängter Grafiken
listviewsicht.jpg  

Geändert von Laaeris (16. Jun 2017 um 13:54 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Wünsche / Probleme mit TListView: Spaltenformatierung

  Alt 16. Jun 2017, 15:48
Rechts!
In dem du der ListView mitteilst das die letzte Column sich automatisch auf die Weite des Header setzen soll

  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

Geändert von EWeiss (17. Jun 2017 um 04:49 Uhr)
  Mit Zitat antworten Zitat
Laaeris

Registriert seit: 10. Dez 2011
24 Beiträge
 
#3

AW: Wünsche / Probleme mit TListView: Spaltenformatierung

  Alt 19. Jul 2017, 17:57
...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
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Wünsche / Probleme mit TListView: Spaltenformatierung

  Alt 19. Jul 2017, 21:58
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.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Wünsche / Probleme mit TListView: Spaltenformatierung

  Alt 19. Jul 2017, 22:03
Hmm..
Wie hoch ist denn
ListView_Jugendspieler.column[0].Height Wenn es Height gibt.. denke aber schon.

gruss
  Mit Zitat antworten Zitat
Laaeris

Registriert seit: 10. Dez 2011
24 Beiträge
 
#6

AW: Wünsche / Probleme mit TListView: Spaltenformatierung

  Alt 27. Jul 2017, 13:34
...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
Miniaturansicht angehängter Grafiken
beispieldelphimaxwidth.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:35 Uhr.
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