Who says no?
Of course it has.
You just use Refresh.
(DO USE CANVAS.REFRESH,IT IS IMPORTANT)
you just type Refresh.
This is a example:
procedure TForm1.Button1Click(Sender:TObject);
begin
Canvas.TextOut(10,10,'Hello world!');
end;
procedure TForm1.Button2Click(Sender:TObject);
begin
Refresh;
end;