![]() |
[update] Laufschrift in StatusBar-Feld
hi,
folgender code realisierteine laufschrift im feld einer TStatusBar. man benötigt einen timer und natürlich eine TStatusBar. Teile des Codes stammen von helmi.
Delphi-Quellcode:
update in der ersten zeile des FormCreate-Events und einen verschreiber einer variablen.
uses commctrl;
private x, i: Integer; S: String; r: TRect; const FieldNum = 0; //gibt an, in welchem Feld der Text erscheinen wird procedure TForm1.Timer1Timer(Sender: TObject); begin //rect des feldes bekommen StatusBar1.Perform(SB_GETRECT, FieldNum, 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; end; procedure TForm1.FormCreate(Sender: TObject); begin StatusBar1.DoubleBuffered := True; //verhindert Flackern StatusBar1.canvas.Brush.Style := bsclear; //hier kann auch die schriftart bestimmt werden: //statusBar1.canvas.Font.Color := clBlue; x := 0; for j := 0 to FieldNum do begin x := x + StatusBar1.Panels[j].Width; end; //der text, der durchläuft S := 'Ich bin ein armer Delphi-Programmierer'; end; (so, wie der code derzeit ![]() Aenogym [edit=Chakotay1308]Code in der Code-Library geupdatet. Update ist nun ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 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