利用 TTimer 定期調整容器控件 (TPanel 或 TLabel) 的 Top 座標,產生垂直向上滾動效果。循環邏輯:移出頂端 → 重置到底部 → 繼續滾動。
frmAbout1,AutoScroll = FalsePanel1:BevelOuter = bvNone、Caption = ''、高度 > 表單高度 (容納所有文字)Label (文字) 或 Image (圖片),自動排版Timer1:Interval = 50 (約 20 FPS)
procedure TfrmAbout1.Timer1Timer(Sender: TObject);
begin
if Panel1.Top > -Panel1.Height then
Panel1.Top := Panel1.Top - 1 // 向上移動 1 像素
else
Panel1.Top := frmAbout1.Height - 35; // 重置到底部 (35 為預留邊距)
end;
procedure TfrmAbout1.Button1Click(Sender: TObject);
begin
Close;
end;
若表單有背景圖片,Panel 會遮蓋。解決方案:
Label 放置於表單Label.Transparent = TrueTop 座標
// 水平向左滾動
if Label1.Left + Label1.Width < 0 then
Label1.Left := Form1.ClientWidth
else
Label1.Left := Label1.Left - 2;
Timer.Interval 或移動像素步長為屬性Timer.Enabled := False/TrueOnMouseEnter/Leave 控制 TimerTRichEdit (需關閉邊框、設透明)TImage + TLabel 組合在容器中Interval = 50 平衡流暢度與 CPU 佔用動態字幕是 Delphi 經典入門範例。掌握 Timer + 座標位移核心邏輯,再配合 Transparent 屬性解決背景遮擋,即可打造專業級跑馬燈效果。進階可擴充速度控制、互動暫停、富文本支援等功能。