用VB在窗口中显示动画图标
【打印文章】
Windows 3.X系统有一个鲜为人知的地方。首先,选取该系统所带某一应用程序(如文件管理器,画笔,扫雷等)的“帮助\关于***...”菜单弹出对话框后,按下Ctrl和Shift键,同时用鼠标左键双击对话框中应用程序的图标,然后关闭对话框。接下来,重复上述操作(两次打开的应用程序可以不同),再次双击图标,奇迹出现了! 对话框中将出现一面飘扬的Windows旗帜和“Dedicated to all the hard-workin g people of the Microsoft Windows 3.10 Team!”这样一条文字信息。如果你再做一次,一定还有新的惊喜。在Windows 95中,上述现象已不复存在,但是在执行其有关“查找”功能以及缺少快捷方式时,对话框内所显示的来回移动的放大镜或照来照去的手电筒则可谓动画图标的上乘佳作。
如果能够在我们自己开发的应用程序中恰当地应用动画图标,一定会给程序界面增色不少。
其实,这些用Visual Basic实现起来是很方便的。
(1)使用VB所带的ICONWORK或其他图标制作工具制作各动画帧的图标Demo0.Ico,Demo1 .Ico,Demo2.Ico,……
(2)建立窗口,在合适位置如左上角添加Image(图形)控件,打开其Properties(属性)窗口,将其中的Stretch(伸展性)项置为True,并从Picture(图片)项右栏点开Load Picture( 加载图片)窗口,从其中的文件列表中选取(1)中制作的第1个图标(Demo0.Ico),其余属性取其缺省状态。
(3)在窗口中添加Timer(计时器)控件,并设置其Interval(时间间隔)属性值(如100ms,该值越大动画速度越慢)。
(4)编写代码,利用计时器控件每隔一个时间间隔调用一次计时器函数的特性,在该函数中更替图形控件所显示的图标即可获得动画效果。
下面所附的源程序代码摘自笔者开发的某应用程序,在Windows 95中文版+Visual Basi c 4.0环境下运行效果颇佳。
附:程序清单(Form5.Frm)
VERSION 4.00
Begin VB.Form form5 对话框窗体
BackColor = & H00C0C000& 背景色
BorderStyle =3'Fixed Double 边界类型
Caption ="关于…" 标题
…… ……
Top =1980 上边界
Width =3840 宽度
Begin VB.Image Imagel 图形控件
Height =855 高度
Left =120 左边界
Picture ="FORM5.frx":0000 图片
Stretch =-1'True 伸展性
Top =240 上边界
Width =975 宽度
End
Begin VB.Timer Timerl 计时器控件
Interval =100 时间间隔(ms)
Left =360 左边界
Top =2520 上边界
End
Begin VB.CommandButton Commandl 按钮控件
Caption="确认" 标题
…… ……
Top =2520 上边界
Width =1455 宽度
End
……
End
Attribute VB_Name ="Form5"
Attribute VB_Creatable =False
Attribute VB_Exposed=False
Dim count% 图标序号
Private Sub Form_Load()
count=-1 置初值
End SubPrivate Sub Timerl_Timer() 计时器函数
count=(count+1)Mod 3 更换显示图标
If count =0 Then
Image1.Picture=LoadPicture("Demo0.Ico")
Else If count= 1 Then
Image1.Picture=LoadPicture("Demo1.Ico")
Else
Imagel.Picture=LoadPicture("Demo2.Ico")
End If
End Sub
Private Sub Command1_Click ()
Form5.Hide 关闭窗口
End Sub
……
如果能够在我们自己开发的应用程序中恰当地应用动画图标,一定会给程序界面增色不少。
其实,这些用Visual Basic实现起来是很方便的。
(1)使用VB所带的ICONWORK或其他图标制作工具制作各动画帧的图标Demo0.Ico,Demo1 .Ico,Demo2.Ico,……
(2)建立窗口,在合适位置如左上角添加Image(图形)控件,打开其Properties(属性)窗口,将其中的Stretch(伸展性)项置为True,并从Picture(图片)项右栏点开Load Picture( 加载图片)窗口,从其中的文件列表中选取(1)中制作的第1个图标(Demo0.Ico),其余属性取其缺省状态。
(3)在窗口中添加Timer(计时器)控件,并设置其Interval(时间间隔)属性值(如100ms,该值越大动画速度越慢)。
(4)编写代码,利用计时器控件每隔一个时间间隔调用一次计时器函数的特性,在该函数中更替图形控件所显示的图标即可获得动画效果。
下面所附的源程序代码摘自笔者开发的某应用程序,在Windows 95中文版+Visual Basi c 4.0环境下运行效果颇佳。
附:程序清单(Form5.Frm)
VERSION 4.00
Begin VB.Form form5 对话框窗体
BackColor = & H00C0C000& 背景色
BorderStyle =3'Fixed Double 边界类型
Caption ="关于…" 标题
…… ……
Top =1980 上边界
Width =3840 宽度
Begin VB.Image Imagel 图形控件
Height =855 高度
Left =120 左边界
Picture ="FORM5.frx":0000 图片
Stretch =-1'True 伸展性
Top =240 上边界
Width =975 宽度
End
Begin VB.Timer Timerl 计时器控件
Interval =100 时间间隔(ms)
Left =360 左边界
Top =2520 上边界
End
Begin VB.CommandButton Commandl 按钮控件
Caption="确认" 标题
…… ……
Top =2520 上边界
Width =1455 宽度
End
……
End
Attribute VB_Name ="Form5"
Attribute VB_Creatable =False
Attribute VB_Exposed=False
Dim count% 图标序号
Private Sub Form_Load()
count=-1 置初值
End SubPrivate Sub Timerl_Timer() 计时器函数
count=(count+1)Mod 3 更换显示图标
If count =0 Then
Image1.Picture=LoadPicture("Demo0.Ico")
Else If count= 1 Then
Image1.Picture=LoadPicture("Demo1.Ico")
Else
Imagel.Picture=LoadPicture("Demo2.Ico")
End If
End Sub
Private Sub Command1_Click ()
Form5.Hide 关闭窗口
End Sub
……
本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )
【编程爱好者论坛】