Ich hab es jetzt so im OnCreate und im Timer
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
x1 := PaintBox.Width;
x2 := PaintBox.Width + PaintBox.Width;
TextWidth:= PaintBox.Canvas.TextWidth(sLaufSchrift);
end;
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
begin
Dec(x1, StepWidth);
Dec(x2, StepWidth);
Refresh;
PaintBox.Canvas.TextOut(x1, 0, sLaufSchrift);
PaintBox.Canvas.TextOut(x2, 0, sLaufSchrift);
if x1 < 0
then x2 := PaintBox.Width + x1;
if x2 < 0
then x1 := PaintBox.Width + x2;
end;
Ich hab allerdings festgestellt der sogenannte Bindestrichefekt
ist kein Bindestrich sondern immer das letzte Zeichen von sLaufSchrift was warum auch immer weiter gezeichnet wird egal ob Step 1 oder 2 u.s.w ist bekomm ich auch nicht weg
außer ich ersetze "Refresh" durch "PaintBox.Refresh" dann geht es, flackert aber dann nur unschön rum