{在Delphi中实现动态字幕}

原创 2001年08月10日 16:24:00
{  如果大家使用过《金山词霸》或《东方快车》的话,一定会对其“关于”窗口中的滚动字幕感兴趣,其实利用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控件的移动。限于篇幅,在这里笔者就不再具体叙述了

html5 css3实现字幕滚动的效果

html5中marquee逐渐被取代,要实现字幕的滚动可以再js中实现: html5 body { margin: 0px; font-size: 12px; ...
  • u012426959
  • u012426959
  • 2017年11月29日 15:28
  • 715

Unity3D仿电影字幕

这段时间在做一个项目,中间用到了电影字幕的这个功能。所以就稍微研究了一下。 在此把初期的思路共享给大家。上图。 1.运行时效果 2.Txt 配置格式 代码:Subtitles.cs u...
  • minitail_
  • minitail_
  • 2013年08月09日 11:24
  • 2008

Delphi 之创建动态库

Delphi 之创建动态库     动态库是什么,这里不多说,百度一大把。今天我们说说怎么用Delphi 创建自己的动态库(DLL)。      我这里的环境是      window7+delph...
  • u013051638
  • u013051638
  • 2016年11月25日 15:35
  • 421

Android 滚动字幕实现

转自:http://blog.csdn.net/cupidove/article/details/38316215 最近项目需求做个循环滚动字幕功能,自己找了相关资料,根据自己的风格用两种方...
  • lizhenmingdirk
  • lizhenmingdirk
  • 2016年01月18日 09:51
  • 3521

Qt(QLabel)实现滚动字幕

滚动字幕,也叫跑马,就是动态显示一行字符。前面实现是使用QTimer控制,直接在槽函数中截取字符串进行显示,只控制字符串在控件的一端显示,超出控件的部分并没有从控件的另一端循环显示出来。于是我重新实现...
  • u011417605
  • u011417605
  • 2016年04月21日 18:55
  • 8074

python实现的黑客字幕雨(附截图功能)

python实现的黑客字幕雨(附截图功能)
  • xzx_kag
  • xzx_kag
  • 2016年03月24日 21:10
  • 890

Delphi7下面关于动态创建控件和释放的个人总结

昨天,一个网友在动态创建控件时释放出了错。他的情况是,动态创建了N个Panel,然后双击Panel就释放掉该Panel。可问题就来了,一释放就出错。然后就一顿讨论。当然也有其他的高手给出了代码,可高手...
  • www1157763637qqcom
  • www1157763637qqcom
  • 2014年01月04日 14:54
  • 3775

002-unity 资源及资源类型 srt字幕文件

1 00:00:00,000 --> 00:00:04,000 英宝通unity学院公开课第二讲 2 00:00:04,000 --> 00:00:06,000 资源管理 3 0...
  • hoxily
  • hoxily
  • 2015年11月15日 10:21
  • 602

css + js实现简单无缝滚动字幕

css + js实现无缝滚动字幕 利用js和css就可以很方便的实现一个无缝滚动字幕,使得列表在一个方框里不停滚动 目录 [toc]实现思路 定义两个滚动块,内容一模一样,从下往上两个紧挨着...
  • tom9238
  • tom9238
  • 2017年04月17日 13:12
  • 1764

Delphi动态调用C++写的DLL

c++ DLL 文件,建议用最简单的c++编辑工具。不会加入很多无关的DLL文件。本人用codeblocks+mingw。不像 VS2010,DLL编译成功,调用的时候会提示缺其他DLL。 系统生成的...
  • mycoolme5
  • mycoolme5
  • 2016年04月13日 16:51
  • 527
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:{在Delphi中实现动态字幕}
举报原因:
原因补充:

(最多只允许输入30个字)