五彩缤纷的清屏效果

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 showman 的 blog

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

本文关键:五彩缤纷的清屏效果
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top