用vb代码如何实现滚动字幕

用vb代码如何实现滚动字幕,第1张

示例:

PrivateSubForm_Load()

'//预先设定要显示的内容

content="滚动字幕示例控制文本的循环滚动"

'//获取内容长度

length=Len(content)

'//label1控件,手动调整

'//接着需要选择字体大小

SetMe.Font=Label1.Font'//方便借用Form.TextHeight方法

Dimfont_heightAsLong,font_widthAsLong,sizeAsLong

size=Label1.Font.size

font_height=Me.TextHeight("循环滚动")

font_width=Me.TextWidth("循环滚动")

Whilefont_height<=Label1.HeightAndfont_width<=Label1.Width

size=size+1

Label1.Font.size=size

font_height=Me.TextHeight("循环滚动")

font_width=Me.TextWidth("循环滚动")

Wend

Label1.Font.size=size-1'//选择最合适的字体大小

pos=1'//从第一个字符开始读取

EndSub

PrivateSubCommand1_Click()

Timer1.Interval=1000'1000毫秒执行一次

EndSub

PrivateSubTimer1_Timer()

DimsizeAsLong,tempAsString

'//每次显示5个长度单位的内容

size=length-pos'//得到截取的长度大小

Ifsize<4Then'//当不足5个长度单位时

temp=Mid(content,pos,size+1)

temp=temp&Mid(content,1,4-size)

pos=5-size

Else

temp=Mid(content,pos,5)

pos=pos+5

EndIf

Label1.Caption=temp'//把截取的文本内容显示出来

EndSub

扩展资料

VB设计自动滚动字幕窗体

DimDireAsString

'窗体Load事件

PrivateSubForm_Load()

Dire="向左"

EndSub

'定时器事件

PrivateSubTimer1_Timer()

DimNewColorAsLong

Randomize

NewColor=RGB(Rnd()*256,Rnd()*256,Rnd()*256)

Label1.ForeColor=NewColor

IfDire="向左"Then

Label1.Left=Label1.Left-10

IfLabel1.Left<0ThenDire="向右"

ElseIfDire="向右"Then

Label1.Left=Label1.Left+10

IfLabel1.Left+Label1.Width>Me.ScaleWidthThenDire="向左"

EndIf

EndSub

方法如下:

添加一个Label标签,并设置背景为透明,放置于窗体最右边,用于显示字幕;

添加一个Timer控件,间隔属性自行设置,用于制作滚动效果;

在Timer事件中,添加代码,使Label标签的left属性,每次减少100,当小于0时,回到初始值。

这样,就制作出了字幕滚动效果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11996488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存