Советы по Delphi

         

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


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

    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 элементу управления. Также, важно перекрытие вашего конструктора и деструктора, чтобы убедиться в том, что они действительно вызываются. [001634]



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