From 73d6a41ca56d52070ad3bb96ee1e86d60b50373f Mon Sep 17 00:00:00 2001 From: mattias Date: Sat, 22 Dec 2012 21:44:08 +0000 Subject: [PATCH] IDE: designer: fixed painting of designer items for TControl paint messages git-svn-id: trunk@39624 - --- components/anchordocking/minide/miniide1.lpi | 5 +---- designer/designer.pp | 6 +++--- designer/designerprocs.pas | 9 ++++++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/components/anchordocking/minide/miniide1.lpi b/components/anchordocking/minide/miniide1.lpi index f60d116804..d5bab0d4c0 100644 --- a/components/anchordocking/minide/miniide1.lpi +++ b/components/anchordocking/minide/miniide1.lpi @@ -28,15 +28,12 @@ - + - - - diff --git a/designer/designer.pp b/designer/designer.pp index 847f6f4a42..0b60f187c6 100644 --- a/designer/designer.pp +++ b/designer/designer.pp @@ -1493,15 +1493,15 @@ begin if TheMessage.DC <> 0 then begin Include(FFlags,dfNeedPainting); - if Sender is TWinControl then - DDC.SetDC(Form, TWinControl(Sender), TheMessage.DC) + if Sender is TControl then + DDC.SetDC(Form, TControl(Sender), TheMessage.DC) else if Sender <> nil then DDC.SetDC(Form, Sender.Parent, TheMessage.DC) else DDC.SetDC(Form, nil, TheMessage.DC); {$IFDEF VerboseDesignerDraw} - writeln('TDesigner.PaintControl D ',Sender.Name,':',Sender.ClassName, + writeln('TDesigner.PaintControl D ',dbgsname(Sender), ' DC=',DbgS(DDC.DC,8), {' FormOrigin=',DDC.FormOrigin.X,',',DDC.FormOrigin.Y,} ' DCOrigin=',DDC.DCOrigin.X,',',DDC.DCOrigin.Y, diff --git a/designer/designerprocs.pas b/designer/designerprocs.pas index 60d6b9e4fb..04a0d1a6ae 100644 --- a/designer/designerprocs.pas +++ b/designer/designerprocs.pas @@ -45,11 +45,13 @@ type ); TDesignerDCFlags = set of TDesignerDCFlag; + { TDesignerDeviceContext } + TDesignerDeviceContext = class private FCanvas: TCanvas; FDC: HDC; - FDCControl: TWinControl; + FDCControl: TControl; FDCOrigin: TPoint; // DC origin on desktop FFlags: TDesignerDCFlags; FFormClientOrigin: TPoint; // Form client origin on desktop @@ -65,7 +67,7 @@ type public constructor Create; destructor Destroy; override; - procedure SetDC(AForm: TCustomForm; ADCControl: TWinControl; ADC: HDC); + procedure SetDC(AForm: TCustomForm; ADCControl: TControl; ADC: HDC); procedure Clear; procedure BeginPainting; procedure EndPainting; @@ -446,7 +448,8 @@ begin inherited Destroy; end; -procedure TDesignerDeviceContext.SetDC(AForm: TCustomForm; ADCControl: TWinControl; ADC: HDC); +procedure TDesignerDeviceContext.SetDC(AForm: TCustomForm; + ADCControl: TControl; ADC: HDC); begin Clear; FDC := ADC;