![]() |
ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
Ich habe eine ListView-Komponente mit ungefähr 30 Einträgen in jeweils zwei Spalten.
Es gibt eine Animation die dieses ListView am Rand des Programmfensters ein- und ausblendet. Aber blöderweise sieht man bei der Animation ein Flackern in der Komponente selber. Die wird dann ständig weiß, obwohl das Programm-Theme ein dunkles ist. Das Problem lässt sich auch nicht beheben und kommt von der Komponente selber. Ich habe mir jetzt überlegt, eine ScrollBox stattdessen zu nehmen und die Label die ich brauche dynamisch zu erzeugen aber das dauert relativ lange wie ich finde. Begin- und EndUpdate hat eine ScrollBox nicht. Gibt es eine bessere Lösung? Die Infos sollen nur in zwei Spalten angezeigt werden. Es muss keine spezielle Komponente sein und auch nicht editierbar. Mein erster Versuch
Delphi-Quellcode:
procedure TForm3.Button2Click(Sender: TObject);
var i, LastLabelTop: Integer; procedure AddItemToScrollBox(const Caption, SubItem: string); var LabelTitle, LabelSubTitle: TLabel; begin LabelTitle := TLabel.Create(ScrollBox1); LabelTitle.Parent := ScrollBox1; LabelTitle.Visible := True; LabelTitle.Caption := Caption; LabelTitle.Top := LastLabelTop; LabelTitle.Left := 5; LabelSubTitle := TLabel.Create(ScrollBox1); LabelSubTitle.Parent := ScrollBox1; LabelSubTitle.Visible := True; LabelSubTitle.Caption := SubItem; LabelSubTitle.Top := LabelTitle.Top; LabelSubTitle.Left := ScrollBox1.Width div 2; // Label 2 wird bei 50% der ScrollBox-Weite gezeichnet LastLabelTop := LabelSubTitle.Top + LabelSubTitle.Height + 3; end; begin LastLabelTop := 5; for i := 0 to 35 do AddItemToScrollBox('Test 1111 2222 4444', 'Subtest 1111 2222 4444 5555 6666 7777 8888 9999 0000'); end; |
AW: ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
DoubleBuffered bei dieser Komponente aktivieren?
TCategoryPanelGroup TGridPanel TFlowPanel TStackPanel ... |
AW: ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
Es ist alles bei "Standard". Die ListView muss unbedingt weg.
|
AW: ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
.. dauert bei mir ca. 100ms (80 - 125)
Grüße Klaus |
AW: ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
Zitat:
Zitat:
|
AW: ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
Zeiten im Debugger sind irrelevant ... für den Kunden / Benutzer des Programms.
Und natürlich ist dort alles "etwas" langsamer. :roll: Zitat:
Oder siehe eine der Werbungen des Herstellers. ![]() Und Google findet sogar Videos und Bildergalerien. |
AW: ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
Die installiere ich nicht mit. StackPanel sieht vernünftig aus, aber nur eine Spalte und hat keinen Scrollbalken.
Bei mir dauert das mit der ScollBox auch ohne Debugger 600ms. |
AW: ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
Suche einfach im Forum
![]() Dort ist ein Index einer OnlineVersion der Hilfe drin. Oder direkt beim Hersteller. ![]() Oder ganz einfach Google oder Dergleichen. (notfalls "docwiki" mit die Suchbegriffe, oder "embarcadero" oder "delphi" oder ...) Und z.B. bei Klassennamen ein Anführungszeichen um den "Begriff" drumrum. (damit die Suche nicht den Begriff zerlegt) |
AW: ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
Zitat:
|
AW: ScrollBox mit dynamisch erzeugten Labeln statt ListView, oder doch was anderes?
Ein VirtualTreeView hat das Problem erledigt. Das hat den Vorteil, dass ich eine vorhandene Datenstruktur weiter verwenden kann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 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