Delphi: TGraphicControl支持PaintTo方法
2021-04-01 17:27
标签:set 调用 dsr 句柄 实现 div windows 需要 span Delphi之TWinControl支持PaintTo方法,可以方便的Paint有句柄控件,而此方法,TGraphicControl没有。 这使得有时需要Paint无句柄控件诸如TLabel时颇为费事,能否扩充它? 可以。使用class helper for技术,通过其Parent,仍然调用TWinControl支持PaintTo方法,中转一下。 直上代码吧,以做备忘: 实现: 完美支持 Delphi: TGraphicControl支持PaintTo方法 标签:set 调用 dsr 句柄 实现 div windows 需要 span 原文地址:https://www.cnblogs.com/crwy/p/9233230.html TGraphicControlHelper = class helper for TGraphicControl
procedure PaintTo(Canvas: TCanvas; X, Y: Integer);
end;
{ TGraphicControlHelper }
procedure TGraphicControlHelper.PaintTo(Canvas: TCanvas; X, Y: Integer);
var
bmp: TBitmap;
sr: TRect;
begin
if Self.Parent = nil then Exit;
bmp := TBitmap.Create;
try
bmp.SetSize(Parent.Width, Parent.Height);
Self.Parent.PaintTo(bmp.Canvas.Handle, X, Y);
sr := Self.BoundsRect;
Windows.OffsetRect(sr, 1, 1);
Canvas.CopyRect(Self.ClientRect, bmp.Canvas, sr);
finally
bmp.Free;
end;
end;
文章标题:Delphi: TGraphicControl支持PaintTo方法
文章链接:http://soscw.com/index.php/essay/71028.html