Flickering happens due to extensive panels redrawings, because of enabled transparency. I suggest you to turn off TransparentXPThemes property in each of TElPanel.
procedure TCustomElEdit.WMNCPaint(var Msg: TMessage); var WS: DWORD; begin WS := GetWindowLong(Handle, GWL_STYLE); if WS and WS_BORDER <> 0 then begin FPreventStyleChange := True; SetWindowLong(Handle, GWL_STYLE, WS and not WS_BORDER); end end;
Comments
Even when setting DoubleBuffer = True, it flickers.
And it flickers very strong in complex GUIs.
I try to active VCL-Theming and Flickering disapear.
But it crashes my real application on startup with activate of VCL-Theming :-(
procedure WMNCPaint(var Msg: TMessage); message WM_NCPAINT;
procedure TCustomElEdit.WMNCPaint(var Msg: TMessage);
var
WS: DWORD;
begin
WS := GetWindowLong(Handle, GWL_STYLE);
if WS and WS_BORDER <> 0 then
begin
FPreventStyleChange := True;
SetWindowLong(Handle, GWL_STYLE, WS and
not WS_BORDER);
end
end;
begin
end;