Yo muevo así (con u TTimer de 100 o 150en velocidad y en propiedades: Enabled=false):
Código Delphi
[-]
var
i: integer=0;
G:TBitMap;
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
G:= TBitMap.Create;
G.LoadFromFile('MiBMP');
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Canvas.Brush.Color := clBtnFace;
Canvas.FillRect(Rect(10+i-2, 10, 10+I, 10+G.Height)); Bitblt(Canvas.Handle, 10 + i, 10, G.Width, G.Height, G.Canvas.Handle, 0, 0, SRCCOPY);
i:=i+2;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
G.Free;
end;
ó con una TImage:
Código Delphi
[-]
var
i: integer=0;
implementation
procedure TForm1.Timer2Timer(Sender: TObject);
begin
Image1.Left:=Image1.Left+4;
i:=i+4;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.DoubleBuffered:=true;
end;
Espero te sirva
Saludos