balabuev 102 Posted March 29, 2023 Do I understand correctly that a control, which is not a TWinControl (for example, TLabel), has no way to implement flicker free drawing with VCL Styles turned on? It seems that the parent form erases its own background via TFormStyleHook.PaintBackground not excluding child controls. This happens in both: Form.DoubleBuffered = False and Form.DoubleBuffered = True modes. Share this post Link to post
David Hoyle 68 Posted March 31, 2023 What version of RAD Studio/Delphi are you using? Share this post Link to post
aehimself 396 Posted March 31, 2023 On 3/29/2023 at 9:59 AM, balabuev said: Do I understand correctly that a control, which is not a TWinControl (for example, TLabel), has no way to implement flicker free drawing with VCL Styles turned on? It seems that the parent form erases its own background via TFormStyleHook.PaintBackground not excluding child controls. This happens in both: Form.DoubleBuffered = False and Form.DoubleBuffered = True modes. I had extreme flickering of controls which were placed on TPanels. The solution was to enable ParentBackground of the TPanel when the current is the system style, otherwise set it to false. Flickering gone down with a huge margin. Share this post Link to post
Vincent Parrett 750 Posted March 31, 2023 (edited) This is a known issue with VCL Styles, there are several threads here where this is discussed. It's gotten slightly better with 11.x but still an issue with some controls. See also - https://quality.embarcadero.com/browse/RSP-30639 Edited March 31, 2023 by Vincent Parrett Added bug report link Share this post Link to post