Свойство Canvas в TCustomControl существует, но оно защищено. Поскольку свойство canvas инкапсулирует windows HDC (Canvas.Handle), вы можете создавать объект TCanvas и назначать через свойство Handle контекст устройства элементу управления, на котором вы хотите рисовать.
Для примера:
procedureAControl.DrawLabel(ACaption: TCaption); var
ACanvas: TCanvas; DC: HDC; begin
ACanvas := TCanvas.Create; try
WindowHandle := parent.Handle; DC := GetDeviceContext(WindowHandle); ACanvas.Handle := DC; with
ACanvas do
begin
end
; ACanvas.Handle := 0; ReleaseDC(WindowHandle, DC); finally
ACanvas.free; end
; end
;