SizeWindow und Spaltenbreiten bei vielen ListIcons
Verfasst: 13.03.2017 13:29
Hallo,
ich habe mit der Dialog-Lib viele ContainerGadgets angelegt, die alle übereinander liegen und bei Bedarf angezeigt werden.
Diese Container enthalten jeweils auch Gadgets, darunter einige ListIconGadgets. Deren Spaltenbreiten möchte ich
abhängig von der eigentlichen Gadgetbreite skalieren.
Seit einiger Zeit soll ja der bevorzugte Weg für die Reaktion auf Size-Events BindEvent() sein anstatt der herkömmlichen Behandlung
in der Eventschleife. Das funktioniert beim normalen Resizen (Fenster am Rahmen anfassen und größer ziehen) auch ganz gut,
allerdings: sobald ich das Fenster maximiere bzw. aus dem maximierten Zustand wiederherstelle, scheint der Callback über BindEvent()
"zu schnell" zu sein, d.h. GadgetWidth() rechnet immer noch mit den Werten vor der Größenänderung und demzufolge werden auch
die Spaltenbreiten falsch berechnet.
Stelle ich von BindEvent() wieder auf die herkömmliche Behandlung innerhalb der Eventschleife um, funktioniert das Resizen bei Maximieren
wieder, allerdings flackert das ganze Fenster beim "größerziehen" dann fürchterlich.
Mit einem kleinen Testcode konnte ich das Verhalten nicht nachstellen, daher gehe ich davon aus, dass die Probleme im Zusammenspiel
von Dialog-Lib und der großen Anzahl von Gadgets/ListIcons entstehen.
Hat vielleicht trotzdem jemand eine Idee, wie ich auch beim Maximieren/Wiederherstellen den gewünschten Effekt erziele?
ich habe mit der Dialog-Lib viele ContainerGadgets angelegt, die alle übereinander liegen und bei Bedarf angezeigt werden.
Diese Container enthalten jeweils auch Gadgets, darunter einige ListIconGadgets. Deren Spaltenbreiten möchte ich
abhängig von der eigentlichen Gadgetbreite skalieren.
Seit einiger Zeit soll ja der bevorzugte Weg für die Reaktion auf Size-Events BindEvent() sein anstatt der herkömmlichen Behandlung
in der Eventschleife. Das funktioniert beim normalen Resizen (Fenster am Rahmen anfassen und größer ziehen) auch ganz gut,
allerdings: sobald ich das Fenster maximiere bzw. aus dem maximierten Zustand wiederherstelle, scheint der Callback über BindEvent()
"zu schnell" zu sein, d.h. GadgetWidth() rechnet immer noch mit den Werten vor der Größenänderung und demzufolge werden auch
die Spaltenbreiten falsch berechnet.
Stelle ich von BindEvent() wieder auf die herkömmliche Behandlung innerhalb der Eventschleife um, funktioniert das Resizen bei Maximieren
wieder, allerdings flackert das ganze Fenster beim "größerziehen" dann fürchterlich.
Mit einem kleinen Testcode konnte ich das Verhalten nicht nachstellen, daher gehe ich davon aus, dass die Probleme im Zusammenspiel
von Dialog-Lib und der großen Anzahl von Gadgets/ListIcons entstehen.
Hat vielleicht trotzdem jemand eine Idee, wie ich auch beim Maximieren/Wiederherstellen den gewünschten Effekt erziele?