a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 45|回复: 0

[Visual Basic] 五彩缤纷的清屏效果

[复制链接]
发表于 2012-7-31 22:10:12 | 显示全部楼层 |阅读模式
  在一些软件演示中,这一屏内容到下一屏内容间往往以一些有趣的清屏图案来相互切换,有的像演出舞台上的开幕、闭幕,有的像百叶窗,也有一些圆形、菱形等形态各异的清屏图案。VB作为一门优秀的WINDOWS下的开发语言,其图形功能也很强。我们完全可以用其提供的画线语句作出上述的清屏图案,下面的程序给出了常见的清屏图案程序:) c% H+ M# _' L# Y% Q
  Sub FilSCrO'设置背景色
9 M, P% T# `8 f  A* _  }6 P  Me.BackColor=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
" _: ?6 q* H( ]7 [+ N7 W  o  End Sub+ a& A" T" H+ R1 }
  Sub ClrScrl()'从左右两边到中间清屏
: ?$ B$ P, N$ u& H0 b  Dim i As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
* F; H6 }4 G8 ]) H# k  For i=0 To ScaleWidth/2
! N- G0 g1 m3 ]& R, P: m/ a' O  Line(i,0)-(i,ScaleHeight),color
8 u- t8 A1 r% E7 W  Line(ScaleWidth-i,0)-(ScaleWidth-i,ScaleHeight),color
9 G; Z' \% m6 k2 e  Next i5 B5 E: Y1 }4 C" T" S& `4 A1 l
  End Sub
1 S/ {9 p5 ]% v& L: ~; N1 d  Sub ClrSer20'从中间到左右两边清屏
- M) m0 |9 B$ q. v  Dim i As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
) A# A6 X, B. Q$ W  y  for i=ScaleWidth/2 To 0 Step -13 J5 ^+ }+ U1 G3 X. P
  Line(i,0)-(i,ScaleHeight-1),color
: i) V" U, E  P% s5 u  Line(ScaleWidth-i,0)-(ScaleWidth-i,ScaleHeight),color
( c4 Q# ~( Z" W+ W  [1 a3 A  Next i
. J/ _% |+ u8 z, y. E0 I  |% F  End Sub
1 F! h' u. p' M' `9 T  Sub ClrScr30'从上(顶)下(低)到中间清屏
7 {' u7 _) s4 Z* w" \  Dim i As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))6 B: R0 e. d8 H( f5 O
  For i=0 To ScaleHeight/2
: z) h1 l: h( ^! e9 y  Line(0,i)-(ScaleWidth,i),color8 i' R# H0 _3 @. T
  Line(0,ScaleHeight-i)-(ScaleWidth,ScaleHeight-i),color- `2 V  v9 e& P" ^
  next i# T) b, }2 o# K: O, H, |
  End Sub3 W7 ~* T) `3 g3 q: w9 D
  Sub ClrScr40'从中间到上(顶)下(底)清屏
5 j8 [8 E# M/ K( x/ s( i  Dim i As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
" Q& _% b- j1 {0 D5 T  For i=ScaleHeight/2 To 0 Step -1
! ]8 c$ X0 t0 D1 b  Line(0,i)_(ScaleWidth,i),color
- I4 ?) B# j# B% J3 F8 i  Line(0,ScaleHeight-i)-(ScaleWidth,ScaleHeight-i),color) U0 v6 ~% `! P/ n% l: [: r
  Next i4 M  }; p3 p+ S  M
  End Sub
7 M# [. f' R( \  Sub ClrScr50'菱形清屏,从四角向中心* s7 j( c# a3 J( E
  Dim i,j As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))2 e% E& A; R0 Y% T, G/ e- ~2 Y
  For i=0 To ScaleWidth Sep 200+ p! }7 l& t; R9 M
  For j=0 To ScaleHeight Step200*ScaleHeight/ScaleWidth
  m3 Y8 f& {0 B  U: m' v5 {  Line(i,0)-(0,j),color' B$ u  w0 j1 u; H
  Line(ScaleWidth-i,ScaleHeight)-(ScaleWidth,ScaleHeight-j),color$ F. r" h8 b' [* e
  Line(0,ScaleHeight-j)-(i,ScaleHeight),color
  V" w% Z6 w: }, Q, k, v  Line(ScaleWidth-i,0)-(ScaleWidth,ScaleHeight-j),color
, t, m" K8 j9 x  Next j
6 B0 L, x) \4 ]  [2 b2 ?  Next i
- e( S/ l' t9 P  End Sub, t9 q: Y7 J; @: y" P9 b: G/ f( ]4 e
  Sub ClrScr60'圆形清屏,由大至小从外围向中心3 \( H, H6 X$ b
  Dim i As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))
! T: J1 n. D+ C$ j/ D1 C  For i=ScaleWidth To 0 Step-3
# Q, R3 u6 t% H6 _/ g6 W  Circle(ScaleWidth/2,ScaleHeight/2,i/2,color8 e8 i' `+ |. _) j1 G8 e( R4 |
  Next i
5 r& ]- V9 \; L" u* v  End Sub; E( C1 V& d7 g" D1 p
  Sub ClrScr70'圆形清屏,由小至大从中心向外围
; f% d8 l8 t- D1 g  Dim i As Integer:Randomize:color=RGB(Int(Rnd*256),Int(Rnd*256),Int(Rnd*256))3 ^/ E* X+ c, P% }2 w2 ]
  For i=0 To ScaleHeight Step 3
2 A  n  G! D" U  Circle(ScaleWidth/2,ScaleHeight/2),i/2,color4 T4 T# D& A) |7 H2 s  \, W: Q
  Next i9 [3 Y+ l* I; N0 h
  End Sub
2 G8 \# n* p  B' Z4 e0 ~  ‘以上程序作为定义的子函数,置于General间
* K* R- h5 _& ~( N4 P& K  Sub Form_Activate()
: a' c+ L! `  ?) H1 J5 T! W$ t) }  FillSCr;ClrScr1;ClrScr2;ClrScr3;ClrScr4;ClrScr5;ClrScr7;ClrScr64 [6 [7 ~1 I4 w; p/ [2 a9 B
  End Sub" J( ?6 I8 q  d- z
  Private Sub Form_Click()
1 k. K+ U8 w: r  End# ^9 A0 \7 z/ Z# w& {% P5 L5 |! }
  End Sub+ \/ n' e- [$ Y+ @5 X# S
  注:该程序在VB3.0、VB4.0、VB5.0下均通过,程序一开始运行即先后演示从左右到中间,从中间到左右,从上下到中间,从中间到上下,从四角向中心(菱形),从中心向外围(圆形),从外围向中心(圆形)等清屏图案。最后两个清屏图案很有趣,清屏结束后还会形成从中心到四角的放射状图案,似孔雀开屏一样。有兴趣的读者不防一试。另外,请注意FORM(窗体)的AutoRedraw属性值应为False,若为True,则将看不到效果。(昆明 无为): C; V/ x: d# c8 t: @) S- |# \
  各种清屏特效的编程实现似乎是老生常谈,但从来稿的情况上看,我们发现大多数编程仍然局限于一些比较陈旧的内容,因此,刊本文是希望能有更多的朋友把VFP、VB、Delphi等流行软件开发工具的使用心得与广大读者共享。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-8 21:33 , Processed in 0.500292 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表