Hallo,
ich stehe derzeit vor einem Problem, welches mir wirklich Kopfzerbrechen bereitet.
Kurz zur Situation:
Ich will eine Komponente erstellen, welche in der
GUI dargestellt wird.
Diese enthält viele Daten, welche angezeigt werden müssen. Bis zum Zeitpunkt der Erstellung steht nicht fest, wie viele das sein werden. Einige der Werte ändern sich im 500ms-Takt.
Es werden bis zu 100 dieser Komponenten gleichzeitig dargestellt werden müssen und werden in einer ScrollBox liegen.
Ich stehe nun vor der Entscheidung, wie ich die Komponente aufbaue:
Nachfahre von TStyledControl -> optischer Aufbau und füttern der Werte in die GUI über die FMX-StylesHabe ich bereits mal mit angefangen, aber beim Scrollen der ScrollBox war die CPU-Auslastung wirklich hoch
Nachfahre von ??? -> alle Elemente (TText, TLayout, TRectangle, etc.) selbst erstellen und mit Werten fütternHabe ich hier nicht auch ziemliche Performance-Schwierigkeiten, da super viele Elemente verwaltet werden müssen?
Nachfahre von ??? -> selbszeichnen der KomponenteDa bin ich gerade dran, aber ich habe Schwierigkeiten, durch den Paint-Ablauf durchzublicken. Ich möchte ja schliesslich nicht bei Änderung eines Wertes den gesamten Komponentenbereich neuzeichnen, sondern nur den entsprechenden Bereich. Leider bekomme ich das irgendwie nicht hin
Habt ihr da nützliche Tutorials oder ähnliches, wo ich mich durchwühlen kann?
Welche dieser Varianten würdet ihr wählen, um die Performance der Anwendung möglichst schlank zu halten? Habt ihr evtl. andere Vorschläge?
Ein anderes Problem ist folgendes:
Die Komponenten sollen in einem TFlowLayout (zu XE2-Zeiten war das ein TFlowPanel) liegen und dieses wiederrum in einer TScrollBox.
Leider hat das FlowLayout keine Eigenschaft wie Autosize! Damit die ScrollBox ihre ScrollBars entsprechend dem Inhalt anpasst, müssen sich die Abmessungen des FlowLayouts ja seinen Childs anpassen. Leider gibt es scheinbar keine passende Eigenschaft dafür.
Ich danke euch schonmal im Vorraus!