Re: [Lazarus] Owner of a TCanvas
On Mon, Jul 27, 2015 at 6:31 AM, Xiangrong Fang xrf...@gmail.com wrote: Hi There, Can I somehow get the object which owns a Canvas? e.g.: function GetCanvasOwner(ACanvas: TCanvas): TObject; begin Result := ACanvas.Owner; end; pb := TPaintBox(GetCanvasOwner(pb.Canvas); Thanks! Xiangrong You can if the canvas is a TControlCanvas. Luckly TGraphicControl.Canvas is a TControlCanvas, thus one can do e.g.: function GetCanvasOwner(ACanvas: TCanvas): TControl; begin Result := (ACanvas as TControlCanvas).Control; end; Regards, Flávio -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Owner of a TCanvas
On 27/07/2015 10:31, Xiangrong Fang wrote: Hi There, Can I somehow get the object which owns a Canvas? e.g.: function GetCanvasOwner(ACanvas: TCanvas): TObject; begin Result := ACanvas.Owner; end; pb := TPaintBox(GetCanvasOwner(pb.Canvas); A TCanvas does not have a built-in Owner property. It descends from TPersistent, but not from TComponent, the class that introduces Owner and ownership. --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] Owner of a TCanvas
Hi There, Can I somehow get the object which owns a Canvas? e.g.: function GetCanvasOwner(ACanvas: TCanvas): TObject; begin Result := ACanvas.Owner; end; pb := TPaintBox(GetCanvasOwner(pb.Canvas); Thanks! Xiangrong -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus