Как очистить canvas

Материал из DRKB


procedure TForm1.Button1Click(Sender: TObject);
begin
  PatBlt(Form1.Canvas.Handle, 0, 0, Form1.ClientWidth, Form1.ClientHeight, WHITENESS);
end;


Source: http://forum.sources.ru
ID: 03717



Canvas.Brush.Color := ClWhite;
Canvas.FillRect(Canvas.ClipRect);


ID: 03718



Есть два хороших способа очистить Canvas. Их скорости очень близки. В первом способе используются возможности Delphi, во втором - WinAPI. Первый способ удобнее тем, что позволяет закрашивать Canvas любым цветом.

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form1.Canvas.Brush.Color := clRed;
  Form1.Canvas.FillRect(Form1.ClientRect);
  PatBlt(Form1.Canvas.Handle, 0, 0,
    Form1.ClientWidth, Form1.ClientHeight, WHITENESS);
end;


Author: Даниил Карапетян
Author: Алексей Денисов
ID: 03720


InValidateRect(Canvas.handle,NIL,True);


Если вы используете холст формы, то попробуйте следующее:

InvalidateRect(Form1.Handle, nil, True);


(или взамен передать дескриптор компонента)

Это очистит хост:

Canvas.FillRect(Canvas.ClipRect);


Source: http://delphiworld.narod.ru/
ID: 03721