文字写在label的caption属性中,调用timer()函数
创新互联建站是少有的做网站、成都网站设计、营销型企业网站、小程序开发、手机APP,开发、制作、设计、外链、推广优化一站式服务网络公司,从2013年创立,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
附上我写的左右往复运动代码,实现image1在picture1中左右往复运动
Private
Sub
Timer1_Timer()
If
Image1.Left
=
Picture1.ScaleWidth
-
Image1.Width
Then
k
=
1
If
k
=
1
Then
Image1.Left
=
Image1.Left
-
50
Else
Image1.Left
=
Image1.Left
+
50
End
If
If
Image1.Left
=
Then
k
=
End
Sub
RichTextBox1.Focus() RichTextBox1.SelectionLength = 0 RichTextBox1.SelectionStart = RichTextBox1.Text.Length RichTextBox1.ScrollToCaret()这样将保持RichTextBox中的文字焦点始终出现在最新的一行
示例:
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'//得到截取的长度大小
Ifsize4Then'//当不足5个长度单位时
temp=Mid(content,pos,size+1)
temp=tempMid(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.Left0ThenDire="向右"
ElseIfDire="向右"Then
Label1.Left=Label1.Left+10
IfLabel1.Left+Label1.WidthMe.ScaleWidthThenDire="向左"
EndIf
EndSub
一个上下左右移动的例子
花了一些时间来做了一个上下左右移动的例子,做得好的话帮我加点分.
包括四个标签控件,和一个时间控件
'把以下的代码另存为一个FORM1.FRM的文件
(先新建一个文本文档,保存后改名字即可)
'代码开始
VERSION 5.00
Begin VB.Form Form1
BackColor = H00000000
BorderStyle = 1 'Fixed Single
Caption = "字体上下左右来回移动的动画"
ClientHeight = 5490
ClientLeft = 45
ClientTop = 435
ClientWidth = 7605
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 5490
ScaleWidth = 7605
StartUpPosition = 3 '窗口缺省
Begin VB.Timer Timer1
Left = 7020
Top = 4980
End
Begin VB.Label Label4
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "字体左右来回移动"
ForeColor = H00FFFF00
Height = 180
Left = 6180
TabIndex = 3
Top = 3720
Width = 1440
End
Begin VB.Label Label3
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "字体左右来回移动"
ForeColor = H008080FF
Height = 180
Left = 0
TabIndex = 2
Top = 2100
Width = 1440
End
Begin VB.Label Label2
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "字体上下来回移动"
ForeColor = H00FF80FF
Height = 180
Left = 4560
TabIndex = 1
Top = 3180
Width = 1440
End
Begin VB.Label Label1
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "字体上下来回移动"
ForeColor = H0000FFFF
Height = 180
Left = 1860
TabIndex = 0
Top = 2760
Width = 1440
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim i As Integer '标签1上下移动的位置
Dim j As Integer '标签2上下移动的位置
Dim c As Integer '标签3左右移动的位置
Dim z As Integer '标签4左右移动的位置
Dim lab1move As Boolean '标签1移动的状态
Dim lab2move As Boolean '标签2移动的状态
Dim lab3move As Boolean '标签3移动的状态
Dim lab4move As Boolean '标签4移动的状态
Private Sub Form_Load()
Timer1.Interval = 10 '每过10豪秒执行一次
i = 0 '初始化标签1的位置
j = Me.Height '初始化标签2的位置
z = Me.Width '初始化标签4的位置
c = 0 '初始化标签3的位置
End Sub
Private Sub Timer1_Timer()
If lab1move = False Then '状态为向下
'标签1从顶部移动到底部
If i Me.Height Then '小于窗体的高
i = i + 100 '每次移动100
Label1.Top = i '移动标签1
End If
If i Me.Height Then '大于窗体的高
lab1move = True '状态为向上
i = Me.Height '=窗体的高
End If
Else '状态为向上
'标签1从底部移动到顶部
i = i - 100 '每次移动100
Label1.Top = i '移动标签
If i = 0 Then lab1move = False: i = 0 '标签1从底部移到顶部
End If
If lab2move = False Then '状态为向上
j = j - 100 '每次移动100
Label2.Top = j '移动标签2
If j 0 Then lab2move = True: j = 0 '标签1从底部移到顶部
Else '状态为向下
If j Me.Height Then j = j + 100: Label2.Top = j '移动标签2
If j Me.Height Then lab2move = False: j = Me.Height '状态为向上
End If
If lab3move = False Then '状态为向右
If c Me.Width Then c = c + 100: Label3.Left = c '每次移动100移动标签
If c Me.Width Then lab3move = True: c = Me.Width
Else '状态为向左
c = c - 100
Label3.Left = c '每次移动100移动标签
If c 0 Then lab3move = False: c = 0 '状态为向右
End If
If lab4move = False Then '状态为向左
z = z - 100
Label4.Left = z '每次移动100移动标签
If z 0 Then lab4move = True: z = 0
Else '状态为向右
If z Me.Width Then z = z + 100: Label4.Left = z '每次移动100移动标签
If z Me.Width Then lab4move = False: z = Me.Width '状态为向左
End If
End Sub
'代码结束.