Delphi-PRAXiS
Seite 2 von 4     12 34      

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/)
-   -   Repaint beim Form-Resize beschränken (https://www.delphipraxis.net/164692-repaint-beim-form-resize-beschraenken.html)

stahli 26. Nov 2011 00:05

AW: Repaint beim Form-Resize beschränken
 
Ja, die FlickerReduce musste nur in die uses aufgenommen werden.
Vermutlich wird das dann mit den AlphaControls nicht funktionieren.

Mit vertretbarem Aufwand wirst Du wohl keine Lösung finden.
Ich würde das dann so hinnehmen und nicht übermäßig dramatisieren ;-)

So oft wird der User die Formulargröße sicher nicht ändern bzw. sich nicht über etwas Flackern dabei aufregen.

G-Baumstamm 26. Nov 2011 00:42

AW: Repaint beim Form-Resize beschränken
 
Auf die Gefahr hin damit zu nerven, wie siehts mit diesem Vorschlag aus ? ;)

Zitat:

Zitat von G-Baumstamm (Beitrag 1137904)
Um nochmal auf meinen Ausgangsvorgang zurückzukommen: kann man nicht irgendwie ne Region definieren, und diese dann für die Dauer des Resizens vom Update ausschließen? Also ganz naiv einfach eine Methode finden, Rect(0,0,500,500) [oder wie viel man halt braucht, nur so als Beispiel] in nen Handle zu transferieren und den dann mit LockWindowUpdate oder der entsprechenden Message während des Resizens einfach in Ruhe zu lassen ? Wie gesagt, ich hab davon nicht viel Ahnung, weiß der Geier ob das irgendwie geht, ob das Sinn machen würde oder obs da was besseres gibt ...

Und hast schon Recht, is nicht so dramatisch wenns nicht geht, dann mach ich einfach ne Form die man nich resizen kann und gut is :P

Trotzdem, finde es verwunderlich, das es für sowas keine Lösung gibt, da muss der programmiertechnische "Murks" der da in dem Kram drin ist ja wirklich tief sitzen, wenn das selbst die Experten hier nicht umgehen können ... ;)

stahli 26. Nov 2011 00:52

AW: Repaint beim Form-Resize beschränken
 
Zitat:

Zitat von G-Baumstamm (Beitrag 1137923)
Auf die Gefahr hin damit zu nerven, wie siehts mit diesem Vorschlag aus ? ;)

Zitat:

Zitat von G-Baumstamm (Beitrag 1137904)
Um nochmal auf meinen Ausgangsvorgang zurückzukommen: kann man nicht irgendwie ne Region definieren, und diese dann für die Dauer des Resizens vom Update ausschließen? Also ganz naiv einfach eine Methode finden, Rect(0,0,500,500) [oder wie viel man halt braucht, nur so als Beispiel] in nen Handle zu transferieren und den dann mit LockWindowUpdate oder der entsprechenden Message während des Resizens einfach in Ruhe zu lassen ? Wie gesagt, ich hab davon nicht viel Ahnung, weiß der Geier ob das irgendwie geht, ob das Sinn machen würde oder obs da was besseres gibt ...


Nicht, dass ich wüsste.


Zitat:

Zitat von G-Baumstamm (Beitrag 1137923)
Trotzdem, finde es verwunderlich, das es für sowas keine Lösung gibt, da muss der programmiertechnische "Murks" der da in dem Kram drin ist ja wirklich tief sitzen, wenn das selbst die Experten hier nicht umgehen können ... ;)

Na ja, die VCL stammt vermutlich aus einer Zeit, in der man es schon genial fand, überhaupt Formulare zu nutzen und diese rezisen zu können. :stupid:

Mir fällt gerade ein: Ich habe mal ein Demovideo gesehen, in dem ein FireMonkey-Formular stufenlos vergrößert und dabei flackerfrei gezoomt wurde. Also die VCL ist wohl einfach in der Beziehung (und nicht nur da) recht veraltet.

hoika 26. Nov 2011 07:53

AW: Repaint beim Form-Resize beschränken
 
Hallo,

gab es bei D7 schon Anchors ?
Wenn ja, nimm die mal komplett beim PageControl raus
setze die Werte direkt im FormResize.


Heiko

G-Baumstamm 26. Nov 2011 10:15

AW: Repaint beim Form-Resize beschränken
 
Ja, Anchors gabs in D7 schon. Aber nein, hilft leider auch nich, weder wenn ich sie bei der PageControl oder bei der Form rausnehme und dann dynamisch oder auch garnicht setzte, keinerlei Effekt ...

bernerbaer 26. Nov 2011 11:10

AW: Repaint beim Form-Resize beschränken
 
Hast Du es schon mit dem VCLFixPack von Andy versucht? (VCLFixPack)

Zitat:

...
QC #56252: TPageControl flickers a lot with active theming (7-2009)
...

G-Baumstamm 26. Nov 2011 11:34

AW: Repaint beim Form-Resize beschränken
 
Auch das mit dem Fix Pack wird von meinen flackernden Komponenten völlig ignoriert ...

Das Übel scheint aber wirklich großteils auf der PageControl zu liegen. Buttons die da drauf sind flackern wie nen Blinklicht beim Resizen, die Buttons die weiter unten auf dem Panel sind verhalten sich völlig ruhig ...

Bummi 26. Nov 2011 14:38

AW: Repaint beim Form-Resize beschränken
 
Pagecontrol war jetzt das Stichwort...
Wir hatten bei einem Projekt mit GDI+-Darstellung von Maschinendaten durch eigen Komponenten auch ein massives Flickerproblem mit PageControls. Wir haben es an den Stellen auf ein Panel mit einem eigenen Tabcontrol umgestellt, in welches Rahmenlose Forms (alClient) geladen wurden, beim Tabwechsel mit BringToFront ensprechend angezeigt. Das geflickere war damit Geschichte.

blackfin 26. Nov 2011 15:53

AW: Repaint beim Form-Resize beschränken
 
Das kann ich bestätigen...PageControls haben bei uns auch immer die meisten Schwierigkeiten gemacht, wenn es ums Skinning geht..von Geflackere bis hin zu völligem Verschwinden der darauf liegenden Controls..also am Besten beim Skinning PageControls vermeiden, entweder selbst eine ähnliche Komponente schreiben oder eine elegante Lösung wie Bummi sie beschrieben hat verwenden :-)

Namenloser 26. Nov 2011 18:38

AW: Repaint beim Form-Resize beschränken
 
Ich hab jetzt nicht jeden Beitrag hier gelesen, aber weil eigenes GUI-Framework angesprochen wurde: Afair hat Andorra 2d sowas (wenn ich mich nicht irre sogar mit graphischem Form-Designer). Wäre vielleicht einen Blick wert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr.
Seite 2 von 4     12 34      

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