Вывод текста на родительском элементе управления
Свойство 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;
|
|