When i using the XPManifest component with a
TEsCalculator control in Delphi 7 the control has a
heavy flicker on the Panel that Displays
the Value.
I eliminated the problem when I follow lines changed
procedure TEsCustomCalculator.Paint;
Codeblock : if Ctl3D then begin
cPanel.BevelOuter := bvLowered;
cPanel.BorderStyle := bsNone;
end else begin
cPanel.BevelOuter := bvNone;
cPanel.BorderStyle := bsSingle;
end;
moved to new Message Method in
TEsCalcPanel
procedure TEsCalcPanel.CMCtl3DChanged(var Msg :TMessage);
begin
inherited;
if (csLoading in ComponentState) or not
HandleAllocated then Exit;
{$IFDEF Win32}
if NewStyleControls and (BorderStyle = bsSingle) then
RecreateWnd;
{$ENDIF}
if Ctl3D then begin // from
TEsCustomCalculator.Paint
BevelOuter := bvLowered;
BorderStyle := bsNone;
end else begin
BevelOuter := bvNone;
BorderStyle := bsSingle;
end;
Invalidate;
end;
Changed Source