字体来回移动-------摘自丹心软件设计

来源:互联网 发布:知乎问题类型主要包括 编辑:程序博客网 时间:2024/04/27 15:02

包括四个标签控件,和一个时间控件


'把以下的代码另存为一个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


'代码结束.