在一些软件演示中,这一屏内容到下一屏内容间往往以一些有趣的清屏图案来相互切换,有的像演出舞台上的开幕、闭幕,有的像百叶窗,也有一些圆形、菱形等形态各异的清屏图案。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等流行软件开发工具的使用心得与广大读者共享。