unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, StdCtrls, ExtCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
end;
var
Form1: TForm1;
PosX: Integer = 350;
Animating: Boolean = False;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Form1.Invalidate;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
case Animating of
True: Button1.Caption := 'Click to resume';
False: Button1.Caption := 'Click to pause';
end;
Animating := not(Animating);
Timer1.Enabled := Animating;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
if not(Animating) then Exit;
Canvas.Brush.Color := clForm;
Canvas.Clear;
Canvas.Rectangle(PosX, 130, PosX + 20, 150);
Dec(PosX, 8);
if (PosX < -30) then PosX := Width + Random(1000);
end;
end.