这里所谓的单独封面,是只独立应用程序窗口本身的一个窗口,这个窗口在程序运行时首先弹出屏幕,用于装饰程序本身,或简单的演示一下程序的优越性。这样的封面在很多专业的WINDOWS程序中均存在,在VB中可有两种简单的方法实现这一功能。 逆风编程精品 第一种方法:多窗体编程方法 此方法是通常采用的方法,即在程序中创建两个或两个以上的Form窗体,把其中的一个作为专门的程序封面制作场所,具体方法: 1、创建一个新项目Form1,并在此窗体内安放Command1命令按钮,在Command1-Click()事件中输入结束程序代码“END”。
2、单击菜单的“Insert"项目,加入一个新窗体Form1。
3、双击Form1窗体空白处,在Form1-Load()事件中输入如下代码,用于隐藏主窗体Form1,置第二窗体为最大模式,并在运行程序首先显示和二窗体: Private Sub Form-Load () ’隐藏主窗口 Form1.Visible = 0 ’窗口2最大模式 Form2.WindowState =2 ’显示窗口2 Form2.Show End Sub
4、 在窗体Form2中定义全程变量: Dim strr1 As String Dim i As Integer
5、在窗体Form2中放入一个时间控件Timer1。
6、在窗体Form2中的Form-Load ()事件中输入以下代码,用于在窗体2中显示图像,并置时间控件频率: Private Sub Form-Load () Form2.Picture = LoadPicture("c:\windows\setup.bmp") Timer1.Interval = 10 i =0 End Sub
7、在时间控件Timer1- Timer1()事件中进行程序封面的制作工作,演示简单的动画,并控制此动画运行一段时间后自动停止,关闭程序封面,返回程序主窗口;下面的代码实现在一个图片上随机显示字符串,显示30次字符串后自动退出。 Private Sub Timer1-Timer () Strr1 = "程序封面演示“ With Form2 .Font.Transparent =True ’透明显示字符 .Font.Size = Rnd *30 10 ’随机变化字号 .Font.Italic =True ’斜体有效 .ForeColor=RGB(Rnd*256,Rnd*256,Rnd*256) ’随机变化前景 .FontName =Screen.Fonts (Rnd*7 14) ’随机变化字体 End With hh=Form2.TextHehght (strr1) ’取字符串高度 ww= Form2.TextWidth (strr1) ’取字符串宽度 x=Rnd * ( Form2.ScaleWidth-ww) ’随机改变坐标 y=Rnd *( Form2.ScaleHeight-hh) Form2.Current X=x Form2.Current Y=y Form2.Print strr1 ’显示字符 i = i 1 ’计数 If i >30 Then Unload Me ’关闭封面 Form1.Show ’调入主窗口 Timer1.Enabled =False ’关闭时间控件 End If End Sub 8、为了能够人为地控制程序封面的停留时间,可在窗体Form2鼠标单击事件中安放退出封面代码: Private Sub Form-Click () Unload Me Form1.Show Timer1.Enabled =False ’关闭时间控件 End If End Sub 至此工作全部完成,当运行程序时,首先弹出程序封面,封面上显示一幅。BMP图像,之后在此图像上进行随机字符串的显示,字符串的位置、字体、字号、前景色等值都是随机变化的,显示30次后自动关闭封面返回主窗口,演示过程中用鼠标单击窗口也会返回主窗口,在主窗口中按下结束按钮退出程序。具体操作时还有很多其它技巧,比如可以置第二个窗体为主窗体,这样运行时可自动先弹出程序封面,可省略隐藏窗体和调入窗体的过程,另外第二窗体也可以在程序运行时由代码动态生成,这样编程时复杂一些,但有利于程序代码的管理;程序封面的具体制作过程,有许多动态图像控制方法可以使用,只要灵活动用VB的作图方法,再加上一些必要的API函数的配合,会制作出理想的程序封面。 第二种方法:隐藏控件方法 多窗口编程存在着一定的复杂性,需要对多个窗体的·Frm文件进行管理,编码时还需要频繁地在多个窗口间进行转换。实际上通过一个窗体也可以编制出类似的封面效果。基本原理就是在程序运行时首先通过VISIBLE属性隐藏全部控件,然后在主窗体内进行程序封面设计和演示,延时一定时间再恢复所有控件的显示,即达到了独立程序封面的制作过程。由于窗体内的控件很多,逐一隐藏或显示非常繁琐,可采用容器控件简化操作过程,即把控件全部放到Frame1等控件上,这样只要执行Frame1.Visible=0,即可使其上面的所有控件隐藏起来。
本文章更多内容:1 - 2 - 下一页>> |