vB做的哦
最近学了一阵子VB然后就做了这个电子贺卡 这是一个结合时间控件做的电子卡 喜欢可以去试下(第一次 做的哦。。做的不好请各位指教)Dim x, y, i As Integer
Private Sub Form_Load()
Timer1.Interval = 500
End Sub
Private Sub Timer1_Timer()
Label1.FontSize = 24
Scale (-320, 320)-(320, -320)
Cls
For i = 1 To 80
DrawWidth = 6
x = Rnd * 320
y = Rnd * 320
If Rnd < 0.5 Then x = -x
If Rnd < 0.5 Then y = -y
PSet (x, y), QBColor(Rnd * 15)
Next
If Label1.Left + Label1.Width > 0 Then
Label1.Left = Label1.Left - 200
Else
Label1.Left = Form1.Width
End If
End Sub 我试了一下,发现个问题,提点建议:
将
If Label1.Left + Label1.Width > 0 Then
Label1.Left = Label1.Left - 200
Else
Label1.Left = Form1.Width
End If
改为
If Label1.Left + Label1.Width > -320Then
Label1.Left = Label1.Left - 200
Else
Label1.Left = 320
End If
还有200太快了,改成80差不多 如果 Label1.Left = Form1.Width改成 Label1.Left = 320那么label就不能从右边的窗体出来了 ,,只能在窗体的左边320的位置出现了 。这样就效果就不明显了 '我这边调试没效果,所以改了一下。
'Dim x, y, i As Integer这句里面的变量x,y都不是Integer的,而是Variant。
Dim x As Integer, y As Integer, i As Integer
Private Sub Form_Load()
Timer1.Interval = 500
End Sub
Private Sub Timer1_Timer()
Label1.FontSize = 24
Scale (-320, 320)-(320, -320)
Cls
DrawWidth = 6
For i = 1 To 80
x = Rnd * 320
y = Rnd * 320
If Rnd < 0.5 Then x = -x
If Rnd < 0.5 Then y = -y
PSet (x, y), QBColor(Rnd * 15)
Next i
If Label1.Left + Label1.Width < 320 Then
Label1.Left = Label1.Left + 100
Else
Label1.Left = -330
End If
End Sub 楼主有Scale (-320, 320)-(320, -320)这句话定义了新坐标。所以320就代表窗体最右端
而用form.width反而不正确了 楼主若用文字把label写满,运行时就会发现文字右端一过中点就没了,而且要很久才从右端出来,而不是立即出来 调试了下,感觉把字幕效果放到FORM LOAD中比较好,呵呵
Private Sub Form_Load()
Timer1.Interval = 500
Label1.Caption = "热烈欢迎"
Label1.FontSize = 24
End Sub 如果是原创的话应该支持一下
欢迎以后多发原创作品
现在原创作品好少的
不过先支持一下LZ的勇敢
继续努力哟~
页:
[1]
