![]() |
VST, Spalte die den restlichen Platz ausfüllt
Gegeben: D11.1 und ein VirtualTreeView als Liste benutzt.
Dieses hat 3 Spalten und ich möchte erreichen, das die mittlere Spalte bei fixer Summe aller VST Spalten zusammen immer den restlichen Platz ausfüllt. Beispiel Breiten: 50:100:50, dann ändere ich die Breite der ersten und die mittlere ändert sich auch: 75:75:50 oder 50:100:50, dann ändere ich die Breite der letzten und die mittlere ändert sich auch: 50:75:75 Was muss ich wo einstellen? Grüße TurboMagic |
AW: VST, Spalte die den restlichen Platz ausfüllt
In
Delphi-Quellcode:
die Spaltennummer eintragen.
Header.AutoSizeIndex
|
AW: VST, Spalte die den restlichen Platz ausfüllt
Das scheint nicht alles zu sein! Ziehe ich in meinem Beispiel die 1. Spalte breiter und
AutoSizeIndex ist 1 wird nicht die 2. Spalte schmäler, sondern das VST insgesammt breiter und ich bekomme einen horizontalen Scrollbalken. Grüße TurboMagic |
AW: VST, Spalte die den restlichen Platz ausfüllt
Wenn VST den Event OnResize hat, wäre es nicht möglich so was zu machen?
Der Code ist teilweise aus dem Kopf und kann Fehler enthalten.
Code:
// hier wird die Breite der zweite Spalte beim Resize neu berechnet bzw. gesetzt. Die erste und die dritte Spalten bleiben unverändert
... const COL_INDEX_DATE = 0; COL_INDEX_DECRIPTION = 1; COL_INDEX_CHECKBOX = 2; COL_WIDTH_DATE = 80; // Breite fixiert COL_WIDTH_CHECKBOX = 60; // Breite fixiert WIDTH_SCROLL = 30; // Platz fuer vert. Scroller ... procedure Tf_Test.vsg_TestResize(Sender: TObject); begin vsg_Test.ColWidths[COL_INDEX_DATE] := COL_WIDTH_DATE; vsg_Test.ColWidths[COL_INDEX_DECRIPTION] := vsg_Test.Width - COL_WIDTH_DATE - COL_WIDTH_CHECKBOX - WIDTH_SCROLL; vsg_Test.ColWidths[COL_INDEX_CHECKBOX ] := COL_WIDTH_CHECKBOX; ... |
AW: VST, Spalte die den restlichen Platz ausfüllt
Hallo,
danke für die Idee, die wäre nur nicht im Sinne des Erfinders, da hierbei ja die beiden äußeren Spalten immer gleich breit blieben. Nene, das VST hat ja scheinbar einen Lösungsansatz, nur muss es wohl noch eine Eigenschaft geben, welche die horizontale Breite über alle Spalten festlegt. Wenn die fix ist, sollte beim Verbreitern/Verschmälern einer Spalte einfach die durch Header.AutoSizeIndex festgelegte Spalte den restlichen Platz dynamisch ausfüllen. Nur welche EInstellung fehlt mir dazu noch? Grüße TurboMagic |
AW: VST, Spalte die den restlichen Platz ausfüllt
Zitat:
Code:
Nachtrag: Schritt für Schritt
TVTHeaderOption -> hoAutoResize
TVTHeader -> AutoSizeIndex
Thomas |
AW: VST, Spalte die den restlichen Platz ausfüllt
Test war erfolgreich!
Genau, was ich wollte! Danke! :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 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