Nicht zu kompliziert denken, das geht ganz einfach:
Delphi-Quellcode:
const MyText='
Ich wandere von rechts nach links ;-)';
StepWidth=1;
var x:Integer;
TextWidth:Integer;
procedure TForm1.FormCreate(Sender: TObject);
begin
x:=ClientWidth;
TextWidth:=Canvas.TextWidth(MyText)
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Dec(x, StepWidth);
Refresh;
Canvas.TextOut(x, 0, MyText);
If x<-TextWidth
then x:=ClientWidth;
end;
Natürlich empfielt es sich, das Zeichnen zu optimieren, zB. zuerst auf ein Bitmap, damit es nicht flimmert.