![]() |
Re: Laufschrift ohne sofort wieder den Anfang zu sehen
Hallo Aenogym,
ich habe mir erlaubt :mrgreen: deinen Code zu verbessern und diesen nur in einem StatusBar-Feld anzeigen zu lassen:
Code:
//Timer1.Interval auf 20 ms
//Statusbar mit 3 Feldern private x, i: Integer; S: String; r: TRect; { ... } uses CommCtrl; { ... } procedure TForm1.Timer1Timer(Sender: TObject); begin StatusBar1.Perform(SB_GETRECT, 1, integer(@r)); r.Right := r.Right - 1; //-1 wegen dem rechten Rand r.Left := r.Left + 1; //+1 wegen dem linken Rand StatusBar1.Repaint; If (x > (StatusBar1.canvas.TextWidth(S) - r.Left) * -1) then begin i := StatusBar1.Canvas.Font.Size div 2; //Die Hälfte der Schrifthöhe berechnen StatusBar1.Canvas.FillRect(r); StatusBar1.Canvas.TextRect(r, x, ((r.Bottom - r.Top) div 2) - i, S); dec(x); end else x := r.Right - r.Left; //Right - Left = Breite des Feldes end; procedure TForm1.FormCreate(Sender: TObject); begin // statusbar1.Canvas.Font.Color := clBlue; StatusBar1.canvas.Brush.Style := bsclear; // statusbar1.Canvas.Font.Size := 12; S := 'Ich bin ein armer Delphi-Programmierer; end; |
Re: Laufschrift ohne sofort wieder den Anfang zu sehen
bei deiner zeile
Delphi-Quellcode:
würde ich das - r.left; wegnehmen- ich finde das sieht schöner aus. sonst fängt der text nämlich mitten im feld wieder an ;)
else
x := r.Right - r.Left; //Right - Left = Breite des Feldes ich füge das mal der code library hinzu :D Aenogym |
Re: Laufschrift ohne sofort wieder den Anfang zu sehen
Zitat:
Code:
und:
x := r.Right - r.Left;
Code:
.
x := r.Right;
Zitat:
|
Re: Laufschrift ohne sofort wieder den Anfang zu sehen
Zitat:
Aenogym |
Re: Laufschrift ohne sofort wieder den Anfang zu sehen
Hallo,
das kann ich nun nicht bestätigen. ich habe 3 Felder: Größe Feld 1 = 222; Größe Feld 2 = 500; Größe Feld 3 = 50 (Die Größen hab ich schon mal verkleinert und vergrößert) Jedesmal beginnt - so wie es sein soll - der Text ganz rechts, also am Ende des Feldes. [edit] Du hast vollkommen recht! - war ein Fehler von mir! es muss:
Code:
heissen.
x := r.Right;
I`m so sorry! [/edit] |
Re: Laufschrift ohne sofort wieder den Anfang zu sehen
Zitat:
und dann seh ich, dass da nochwas steht :wall: aber nungut. das wird langsam off-topic. schluss jetzt :mrgreen: Aenogym |
Re: Laufschrift ohne sofort wieder den Anfang zu sehen
danke erstmal an Aenogym durch den quelltext bin ich näher an die lösung einer informatik hausaufgabe gekommen
könnt ihr mir aber noch verraten ob es auch möglich ist das die schrift nach rechts läuft und von links wieder kommt, da dies der bestandteil der aufgabe ist ich es aber mit umstellen des codes nicht hinkriege. es wäre außerdem gut wenn der text direkt wieder herauskommt und nicht mit einer kleinen pause, aber das obere ist eigentlich noch wichtiger danke im voraus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 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