示例:
PrivateSubForm_Load()
'//预先设定要显示的内容
'//获取内容长度
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
Option Explicit'
'字幕滚动程序
'使用控件:一个Label控件,一个Text控件,一个Timer控件,一个HScrollbar控件,2个Option控件(单选按钮)
'要滚动的字幕在Text1内输入
'
'
Private Sub Form_Load()
HScroll1.Max = 10
HScroll1.Min = 1
HScroll1.Value = 1
HScroll1.SmallChange = 1
HScroll1.LargeChange = 1
Option1.Value = True
Option1.Caption = "方式一"
Option2.Caption = "方式二"
Timer1.Enabled = True
Timer1.Interval = 100
Text1.Text = "利用时钟和滚动条设计一个字幕滚动程序,并且可以控制滚动的快慢。"
Label1.Caption = Text1.Text &Space(Label1.Width \ 96)
End Sub
Private Sub HScroll1_Change()
Timer1.Interval = HScroll1.Value * 100
End Sub
Private Sub Option1_Click()
Label1.Caption = Text1.Text &Space(Label1.Width \ 96)
End Sub
Private Sub Option2_Click()
Label1.Caption = Text1.Text
End Sub
Private Sub Timer1_Timer()
If Asc(Left(Label1.Caption, 1)) >0 Then
Label1.Caption = Mid(Label1.Caption, 3, Len(Label1.Caption) - 2) &Left(Label1.Caption, 2)
Else
Label1.Caption = Mid(Label1.Caption, 2, Len(Label1.Caption) - 1) &Left(Label1.Caption, 1)
End If
End Sub
加入一个命今按钮:command1.加入一个文本框:text1.
加入一个时间控件:timer1.
加入一个横向的滚动条:hscroll1.把:min属性设为2,max属性设为100,smallchange设为1。
下面代码:
privatesubcommand1_click()
timer1.enabled=true
timer1.interval=10
endsub
privatesubform_load()
command1.caption="开始"
text1.backcolor=&h8000000f
text1.borderstyle=0
text1.text="测试区域"
timer1.enabled=false
endsub
privatesubhscroll1_change()
timer1.interval=10*hscroll1.value/10
endsub
privatesubhscroll1_scroll()
timer1.interval=10*hscroll1.value/10
endsub
privatesubtimer1_timer()
text1.left=text1.left-50
iftext1.left<0then
text1.left=form1.width
endif
endsub
技术含量不高,供参考!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)