程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 在Delphi中實現動態字幕

在Delphi中實現動態字幕

編輯:Delphi

如果大家使用過《金山詞霸》或《東方快車》的話,一定會對其“關於”窗口中的滾動字幕感興趣,其實利用Delphi中的Timer控件可以很輕松地實現這一功能。

一、設計思路

首先在窗體上放置一個Panel控件,並在Panel控件中放置需要顯示的文字,然後通過Timer控件,在一定的間隔時間內不斷改變Panel控件的位置就可以實現滾動字幕的效果了。

二、實現方法

1.新建一個窗體,設置其屬性如下:

Name:frmAbout1

AutoScroll:False

2.在窗體上放置一個Panel控件,其默認名稱為Panel1,設置其屬性如下:

BevelOuter:bvNone

Caption:(設為空)

調整Panel1的高度和寬度,使其成一豎長條形,其高度視需顯示的內容多少而定(可以大於窗體的高度)。

3.在Panel1上面放置Label控件以顯示文字,當然你也可以在上面放置Image控件來顯示圖片,但圖片的尺寸不可太大,否則會影響顯示效果。

4.在窗體上放置一個Timer控件,其默認名稱為Timer1,將其Interval屬性值設為50,並在其OnTimer事件中輸入以下代碼:

if Panel1.top>-Panel1.height then
Panel1.top:=Panel1.top-1
else
Panel1.top:=frmAbout1.height-35;

{判斷Panel1是否移動到了窗體的最上端,如果不是,就向上移動一個像素點的位置;如果是的話,就將Panel1移動到窗體的最下端,循環顯示字幕}

5.在窗體上放置一個Button控件,將其Caption屬性設為“確定”,並在OnClick事件中輸入以下代碼:

close;{關閉窗體}

三、改進分析

以上是一個簡單的滾動字幕的實現過程,但還有一個地方需要進一步完善:如果窗體使用了圖片作為背景的話,Panel控件會遮擋住部分背景圖案。其實要解決這個問題,我們完全可以不使用Panel控件,而是直接將Label控件放置在窗體上,並將Label控件的Transparent(透明)屬性值設為True,然後通過Timer控件直接控制這些Label控件的移動。限於篇幅,在這裡筆者就不再具體敘述了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved