在一些软件演示中,这一屏内容到下一屏内容间往往以一些有趣的清屏图案来相互切换,有的像演出舞台上的开幕、闭幕,有的像百叶窗,也有一些圆形、菱形等形态各异的清屏图案。VB作为一门优秀的WINDOWS下的开发语言,其图形功能也很强。我们完全可以用其提供的画线语句作出上述的清屏图案,下面的程序给出了常见的清屏图案程序:
Sub FilSCrO'设置背景色
Me.BackColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
End Sub
Sub ClrScrl()'从左右两边到中间清屏
Dim I As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
For I=0 To ScaleWidth/2
Line(I,0)-(I,ScaleHeight),color
Line(ScaleWidth-I,0)-(ScaleWidth-I,ScaleHeight),color
Next I
End Sub
Sub ClrSer20'从中间到左右两边清屏
Dim I As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
for I=ScaleWidth/2 To 0 Step -1
Line(I,0)-(I,ScaleHeight-1),color
Line(ScaleWidth-I,0)-(ScaleWidth-I,ScaleHeight),color
Next I
End Sub
Sub ClrScr30'从上(顶)下(低)到中间清屏
Dim I As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
For I=0 To ScaleHeight/2
Line(0,I)-(ScaleWidth,I),color
Line(0,ScaleHeight-I)-(ScaleWidth,ScaleHeight-I),color
next I
End Sub
Sub ClrScr40'从中间到上(顶)下(底)清屏
Dim I As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
For I=ScaleHeight/2 To 0 Step -1
Line(0,I)_(ScaleWidth,I),color
Line(0,ScaleHeight-I)-(ScaleWidth,ScaleHeight-I),color
Next I
End Sub
Sub ClrScr50'菱形清屏,从四角向中心
Dim I,j As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
For I=0 To ScaleWidth Sep 200
For j=0 To ScaleHeight Step200*ScaleHeight/ScaleWidth
Line(I,0)-(0,j),color
Line(ScaleWidth-I,ScaleHeight)-(ScaleWidth,ScaleHeight-j),color
Line(0,ScaleHeight-j)-(I,ScaleHeight),color
Line(ScaleWidth-I,0)-(ScaleWidth,ScaleHeight-j),color
Next j
Next I
End Sub
Sub ClrScr60'圆形清屏,由大至小从外围向中心
Dim I As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
For I=ScaleWidth To 0 Step-3
Circle(ScaleWidth/2,ScaleHeight/2,I/2,color
Next I
End Sub
Sub ClrScr70'圆形清屏,由小至大从中心向外围
Dim I As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
For I=0 To ScaleHeight Step 3
Circle(ScaleWidth/2,ScaleHeight/2),I/2,color
Next I
End Sub
‘以上程序作为定义的子函数,置于General间
Sub Form_Activate()
FillSCr;ClrScr1;ClrScr2;ClrScr3;ClrScr4;ClrScr5;ClrScr7;ClrScr6
End Sub
Private Sub Form_Click()
End
End Sub
注:该程序在VB3.0、VB4.0、VB5.0下均通过,程序一开始运行即先后演示从左右到中间,从中间到左右,从上下到中间,从中间到上下,从四角向中心(菱形),从中心向外围(圆形),从外围向中心(圆形)等清屏图案。最后两个清屏图案很有趣,清屏结束后还会形成从中心到四角的放射状图案,似孔雀开屏一样。有兴趣的读者不防一试。另外,请注意FORM(窗体)的AutoRedraw属性值应为False,若为True,则将看不到效果。(昆明 无为)
编辑点评:各种清屏特效的编程实现似乎是老生常谈,但从来稿的情况上看,我们发现大多数编程仍然局限于一些比较陈旧的内容,因此,刊本文是希望能有更多的朋友把VFP、VB、Delphi等流行软件开发工具的使用心得与广大读者共享。