小小图标动起来

Author: 小欣 Date: 1997-01-01

  我们有时可以发现,一些Windows小工具的窗口最小化后,图标是会动的,譬如“鱼缸”程序,在运行其它软件时,它的最小化图标上仍然有鱼不停地游动,仿佛在提醒你:我在这儿呢?
  你是否也想给你自己的软件加上这种看来很有趣、也能增添活泼气氛的效果呢?其实,这用VB实现起来一点也不难:VB的窗体不是有个ICON属性吗?你只要画一些不同的图标,设定定时器每隔一定的时间,就给ICON属性赋于不同的图像,这种效果就出来了!在这里你可以充分发挥自己的想象力,设计如鬼脸小丑、闪烁繁星等等简单小动画,甚至,让你自己的大名在图标上“欢蹦乱跳”也可以!
  在VB3的SAMPLES子目录下,有一个ICONWRKS程序,可供绘制各种图标,你可将它编译成可执行文件,在Windows下直接调用。当然图标文件也可以赋值给一个PICTURE或一个IMAGE对象。这样你可以把一系列的图标存在一个图像数组里,进行编程就可实现上述功能了。
  下面假定主窗口名为Form1,定时器名为Timer1,图标图像共有五个,存放在pic()图像数组里,大致的程序如下:
  Dim nowpic  ’存放当前图像的号码
  Dim maxpic  ’图像数量
  Sub Form-Load()
  nowpic=0
  maxpic=5
  timer1.interval=400  ’设定变换速度,此值视具体情况而定
  End Sub
  Sub timer1-Timer()
  If form1.WindowState=1 Then   ’只有当窗口最小化后,才起作用
  nowpic=nowpic+1
  If nowpic=maxpic Then nowpic=0
  form1.Icon=pic(nowpic).Picture
  End if
  End Sub
  短短的一段程序,一个不简单的效果就出来了,当然其中最费周折的还是如何绘制生动的图标了。要使图标动起来,还有一种方法是:当窗口最小化时,使用Line、Circle等语言直接在窗口上绘图,此时等于是在图标上绘图,自然也能实现动态效果。