Свойство Canvas в TCustomControl существует, но оно защищено. Поскольку свойство canvas инкапсулирует windows HDC (Canvas.Handle), вы можете создавать объект TCanvas и назначать через свойство Handle контекст устройства элементу управления, на котором вы хотите рисовать.
Для примера:
procedure AControl.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; |
[001621]