![]() |
Re: Laufschrift an Panelgröße anpassen
Zitat:
|
Re: Laufschrift an Panelgröße anpassen
Zitat:
Damit kann der Text mehrfach nebeneinander angezeigt werden:
Delphi-Quellcode:
:???:
const MyText='Ich wandere von rechts nach links ;-) ';
StepWidth=2; Space=10; var x:Integer; TextWidth:Integer; procedure TForm1.FormCreate(Sender: TObject); begin x:=ClientWidth; TextWidth:=Canvas.TextWidth(MyText); end; procedure TForm1.Timer1Timer(Sender: TObject); var temp:Integer; begin Dec(x, StepWidth); Refresh; temp:=x; While temp<ClientWidth do begin Canvas.TextOut(temp, 0, MyText); Inc(temp, TextWidth+Space); end; If x<-TextWidth+Space then Inc(x, TextWidth+Space); end; |
Re: Laufschrift an Panelgröße anpassen
Delphi-Quellcode:
//funktioniert sehr gut nur nicht mit Buffer.Canvas.TextOut(temp, 0, sLaufSchrift);
while temp < PaintBox.Width do begin PaintBox.Canvas.TextOut(temp, 0, sLaufSchrift); Inc(temp, TextWidth + Space); end; if x1 <- TextWidth + Space then Inc(x1, TextWidth + Space); |
Re: Laufschrift an Panelgröße anpassen
Delphi-Quellcode:
//jetzt funktioniert es :-D
while temp < PaintBox.Width do begin PaintBox.Canvas.TextOut(temp, 0, sLaufSchrift); Inc(temp, TextWidth + Space); end; bitblt(PaintBox.Canvas.Handle,1,1,PaintBox.Width,PaintBox.Height,Buffer.Canvas.Handle,0,0,Srccopy); if x1 <- TextWidth + Space then Inc(x1, TextWidth + Space); |
Re: Laufschrift an Panelgröße anpassen
Hmm, aber bei einem größeren zwischenraum (Space = 100) funktioniert das nicht mehr ganz richtig. Der linke text verschwindet schon, bevor er ganz durchgelaufen ist.
|
Re: Laufschrift an Panelgröße anpassen
Zitat:
Lösung:
Delphi-Quellcode:
Habs probiert, es läuft durch!
If x<-(TextWidth+Space) then Inc(x, TextWidth+Space);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz