Советы по Delphi

Вывод текста на родительском элементе управления


Свойство 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]



Содержание раздела