Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TVertScrollBox Refresh in FMX Application (https://www.delphipraxis.net/205447-tvertscrollbox-refresh-fmx-application.html)

GSM 10. Sep 2020 14:31

TVertScrollBox Refresh in FMX Application
 
Ich erstelle ein nicht modales Formular dynamisch, dessen Felder beim scrollen teilweise verschwinden, das ganze Dinge also nach einem Scroll nur bedingt und unregelmäßig einen Refresh ausführt.
Der Aufbau ist wie folgt:
1. TVertScrollBox (align client)
2. darin ein Panel TopPan (align top, Höhe ist die Summe der Einzelhöhen von Sub Panels)
3. TopPan kann eine unterschiedliche Anzahl von Unter-Panel enthalten, die jeweils Align Top sind und unterschiedliche Höhen haben
4. auf jedem Unter-Panel setzt dann ein TGridpanelLayout mit align client auf, in dem unterschiedliche Dialogfelder sind, wie TEdit und TMemo

Das Formular hat dann oft, gerade auf mobilen Geräten, eine größere Länge und man muss vertikal scrollen.
Leider werden dann teilweise die Eingabe Felder einfach nicht angezeigt.

Wie könnte man hier einen Refresh erzwingen?
Möglicherweise sollte man die einzelnen Unter Panel lieber in eine ListBox setzen, anstelle der TVertScrollbox?

Harry Stahl 10. Sep 2020 15:54

AW: TVertScrollBox Refresh in FMX Application
 
Du könntest versuchen, nach dem dynamischen Einfügen in die Scrollbox mit dieser ein Beginupdate und Endupdate zu machen (also direkt hintereinander).

Klappt das?

GSM 11. Sep 2020 11:30

AW: TVertScrollBox Refresh in FMX Application
 
Ich hatte das BeginUpdate/Endupdate im darunter liegenden Panel TopPan
hab es jetzt mal in die TVertScrollbox gelegt, also BeginUpdate direkt nach dem Create,
leider ist das Verhalten gleich....

GSM 11. Sep 2020 13:44

AW: TVertScrollBox Refresh in FMX Application
 
selbst wenn man in VertScrollBoxViewportPositionChange Repaint oder Begin und EndUpdate aufruft bewirkt dies nichts

Harry Stahl 11. Sep 2020 14:46

AW: TVertScrollBox Refresh in FMX Application
 
Kannst Du Source-Code zeigen oder ein kurzes Beispiel hochladen?

GSM 14. Sep 2020 17:15

AW: TVertScrollBox Refresh in FMX Application
 
Vielen Dank für Deine Unterstützung, aber der Source Code ist da zu komplex, ich kann mir scheinbar nur selbst etwas überlegen, wie ich diesen Effekt vermeiden kann....hatte gehofft es hat jemand schonmal vergleichbares Verhalten erlebt


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 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