скрыть

скрыть

  Форум  

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

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



Google  
 

Использование холста в собственных компонентах



Вот мой совет по использованию холста в компонентах собственного приготовления:


TScrollingPaintBox = class(TScrollingWinControl)

private
  FCanvas: TCanvas;
public
  constructor Create(aOwner: TComponent); override;
  destructor Destroy; override;
  property Canvas: TCanvas read FCanvas;
end;

constructor TScrollingPaintBox.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FCanvas := TControlCanvas.Create;
  TControlCanvas(FCanvas).Control := Self;
end;

destructor TScrollingPaintBox.Destroy;
begin
  FCanvas.Free;
  inherited Destroy;
end;

TControlCanvas важен, поскольку он создает DC, который принадлежит HWND элементу управления. Также, важно перекрытие вашего конструктора и деструктора, чтобы убедиться в том, что они действительно вызываются.






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




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