скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

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



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






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook