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/)
-   -   Delphi JvGradient flackern verhindern (https://www.delphipraxis.net/113140-jvgradient-flackern-verhindern.html)

Strahlex 3. Mai 2008 11:13


JvGradient flackern verhindern
 
Hallo,

Ich habe eine Fomr mit einer JvGradient Komponente als Hintergrund, wenn man jetzt die Form Resized flackert das Gradient leider (Canvas).
So jetzt die Frage: Gibt es eine Möglichkeit das Flackern zu verhindern?
Wenn nein, wie mache ich es das ich beim Start des Resizens das aufrufe:
Delphi-Quellcode:
SendMessage(Handle, wm_SetRedraw, 0, 0);
und beim beenden das:
Delphi-Quellcode:
SendMessage(Handle, wm_SetRedraw, 1, 0);
RedrawWindow(Handle, nil, 0, RDW_INVALIDATE or RDW_ALLCHILDREN or RDW_UPDATENOW);
:gruebel:

mfg
Strahlex

lbccaleb 3. Mai 2008 11:21

Re: JvGradient flackern verhindern
 
Zitat:

Zitat von Strahlex
Delphi-Quellcode:
SendMessage(Handle, wm_SetRedraw, 0, 0);
und beim beenden das:
Delphi-Quellcode:
SendMessage(Handle, wm_SetRedraw, 1, 0);
RedrawWindow(Handle, nil, 0, RDW_INVALIDATE or RDW_ALLCHILDREN or RDW_UPDATENOW);

schau dir mal im oi der form "onresize" an, das wird dir hier weiter helfen...

edit:

was mir gerade noch aufgefallen ist..
nur wieso willst du beim resizen, nochmal resizen aufrufen??? damit verursachst du eine endlos schleife des programms.. ??

haentschman 3. Mai 2008 12:47

Re: JvGradient flackern verhindern
 
Hallo...

FlickerReduce Unit

- die .pas ins Projekt einbinden und Flackern ist weg... :wink:
- hier auch Danke an den Author :thumb:

:hi:

toms 3. Mai 2008 14:23

Re: JvGradient flackern verhindern
 
Oder DoubleBuffered des Parents auf True setzen.

z.B falls die Form dann so:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
 Self.DoubleBuffered := True;
end;

haentschman 3. Mai 2008 14:35

Re: JvGradient flackern verhindern
 
...hatte das gleiche Problem.
Zitat:

Oder DoubleBuffered des Parents auf True setzen.
...hat da nicht geholfen. :gruebel:


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