这里所谓
![](/icons/93010de.gif)
单独封面
![](/icons/93010dou.gif)
是只独立应用
![](/icons/93010chengxu.gif)
窗口本身
![](/icons/93010de.gif)
![](/icons/93010yi.gif)
个窗口
![](/icons/93010dou.gif)
这个窗口在
![](/icons/93010chengxu.gif)
运行时首先弹出屏幕
![](/icons/93010dou.gif)
用于装饰
![](/icons/93010chengxu.gif)
本身
![](/icons/93010dou.gif)
或简单
![](/icons/93010de.gif)
演示
![](/icons/93010yi.gif)
下
![](/icons/93010chengxu.gif)
![](/icons/93010de.gif)
优越性
![](/icons/93010dou2.gif)
这样
![](/icons/93010de.gif)
封面在很多专业
![](/icons/93010de.gif)
WINDOWS
![](/icons/93010chengxu.gif)
中均存在
![](/icons/93010dou.gif)
在VB中可有两种简单
![](/icons/93010de.gif)
思路方法实现这
![](/icons/93010yi.gif)
功能
![](/icons/93010dou2.gif)
第
![](/icons/93010yi.gif)
种思路方法:多窗体编程思路方法
此思路方法是通常采用
![](/icons/93010de.gif)
思路方法
![](/icons/93010dou.gif)
即在
![](/icons/93010chengxu.gif)
中创建两个或两个以上
![](/icons/93010de.gif)
Form窗体
![](/icons/93010dou.gif)
把其中
![](/icons/93010de.gif)
![](/icons/93010yi.gif)
个作为专门
![](/icons/93010de.gif)
![](/icons/93010chengxu.gif)
封面制作场所
![](/icons/93010dou.gif)
具体思路方法:
1、创建
![](/icons/93010yi.gif)
个新项目Form1
![](/icons/93010dou.gif)
并在此窗体内安放Command1命令按钮
![](/icons/93010dou.gif)
在Command1-Click
![](/icons/93010kh.gif)
事件中输入结束
![](/icons/93010chengxu.gif)
代码“END”
![](/icons/93010dou2.gif)
2、单击菜单
![](/icons/93010de.gif)
“Insert"项目
![](/icons/93010dou.gif)
加入
![](/icons/93010yi.gif)
个新窗体Form1
![](/icons/93010dou2.gif)
3、双击Form1窗体空白处
![](/icons/93010dou.gif)
在Form1-Load
![](/icons/93010kh.gif)
事件中输入如下代码
![](/icons/93010dou.gif)
用于隐藏主窗体Form1
![](/icons/93010dou.gif)
置第 2窗体为最大模式
![](/icons/93010dou.gif)
并在运行
![](/icons/93010chengxu.gif)
首先显示和 2窗体:
Private Sub Form-Load
![](/icons/93010kh.gif)
’隐藏主窗口Form1.Visible = 0’窗口2最大模式Form2.WindowState =2’显示窗口2Form2.ShowEnd Sub
4、在窗体Form2中定义全程变量:
Dim strr1 As StringDim i As Integer
5、在窗体Form2中放入
![](/icons/93010yi.gif)
个时间Control控件Timer1
![](/icons/93010dou2.gif)
6、在窗体Form2中
![](/icons/93010de.gif)
Form-Load
![](/icons/93010kh.gif)
事件中输入以下代码
![](/icons/93010dou.gif)
用于在窗体2中显示图像
![](/icons/93010dou.gif)
并置时间Control控件频率:
Private Sub Form-Load
![](/icons/93010kh.gif)
Form2.Picture = LoadPicture("c:\windows\
![](/icons/93010set.gif)
up.bmp")Timer1.Interval = 10i =0End Sub
7、在时间Control控件Timer1- Timer1()事件中进行
![](/icons/93010chengxu.gif)
封面
![](/icons/93010de.gif)
制作工作
![](/icons/93010dou.gif)
演示简单
![](/icons/93010de.gif)
动画
![](/icons/93010dou.gif)
并控制此动画运行
![](/icons/93010yi.gif)
段时间后自动停止
![](/icons/93010dou.gif)
关闭
![](/icons/93010chengxu.gif)
封面
![](/icons/93010dou.gif)
返回
![](/icons/93010chengxu.gif)
主窗口;下面
![](/icons/93010de.gif)
代码实现在
![](/icons/93010yi.gif)
个图片上随机显示
![](/icons/93010zifu.gif)
串
![](/icons/93010dou.gif)
显示30次
![](/icons/93010zifu.gif)
串后自动退出
Private Sub Timer1-Timer ![](/icons/93010kh.gif)
Strr1 = "
封面演示“
With Form2
.Font.Transparent =True ’透明显示![](/icons/93010zifu.gif)
.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
F 2.Current Y=y
Form2.Pr
strr1 ’显示![](/icons/93010zifu.gif)
i = i +1 ’计数
If i $#@62;30 Then
Unload Me ’关闭封面
Form1.Show ’调入主窗口
Timer1.Enabled =False ’关闭时间Control控件
End If
End Sub
8、为了能够人为地控制
![](/icons/93010chengxu.gif)
封面
![](/icons/93010de.gif)
停留时间
![](/icons/93010dou.gif)
可在窗体Form2鼠标单击事件中安放退出封面代码:
Private Sub Form-Click ![](/icons/93010kh.gif)
Unload Me
Form1.Show
Timer1.Enabled =False ’关闭时间Control控件
End If
End Sub
至此工作全部完成
![](/icons/93010dou.gif)
当运行
![](/icons/93010chengxu.gif)
时
![](/icons/93010dou.gif)
首先弹出
![](/icons/93010chengxu.gif)
封面
![](/icons/93010dou.gif)
封面上显示
![](/icons/93010yi.gif)
幅?BMP图像
![](/icons/93010dou.gif)
的后在此图像上进行随机
![](/icons/93010zifu.gif)
串
![](/icons/93010de.gif)
显示
![](/icons/93010dou.gif)
![](/icons/93010zifu.gif)
串
![](/icons/93010de.gif)
位置、字体、字号、前景色等值都是随机变化
![](/icons/93010de.gif)
![](/icons/93010dou.gif)
显示30次后自动关闭封面返回主窗口
![](/icons/93010dou.gif)
演示过程中用鼠标单击窗口也会返回主窗口
![](/icons/93010dou.gif)
在主窗口中按下结束按钮退出
![](/icons/93010chengxu.gif)
![](/icons/93010dou2.gif)
具体操作时还有很多其它窍门技巧
![](/icons/93010dou.gif)
比如可以置第 2个窗体为主窗体
![](/icons/93010dou.gif)
这样运行时可自动先弹出
![](/icons/93010chengxu.gif)
封面
![](/icons/93010dou.gif)
可省略隐藏窗体和调入窗体
![](/icons/93010de.gif)
过程
![](/icons/93010dou.gif)
另外第 2窗体也可以在
![](/icons/93010chengxu.gif)
运行时由代码动态生成
![](/icons/93010dou.gif)
这样编程时复杂
![](/icons/93010yi.gif)
些
![](/icons/93010dou.gif)
但有利于
![](/icons/93010chengxu.gif)
代码
![](/icons/93010de.gif)
管理;
![](/icons/93010chengxu.gif)
封面
![](/icons/93010de.gif)
具体制作过程
![](/icons/93010dou.gif)
有许多动态图像控制思路方法可以使用
![](/icons/93010dou.gif)
只要灵活动用VB
![](/icons/93010de.gif)
作图思路方法
![](/icons/93010dou.gif)
再加上
![](/icons/93010yi.gif)
些必要
![](/icons/93010de.gif)
API
![](/icons/93010hanshu.gif)
![](/icons/93010de.gif)
配合
![](/icons/93010dou.gif)
会制作出理想
![](/icons/93010de.gif)
![](/icons/93010chengxu.gif)
封面
![](/icons/93010dou2.gif)
第 2种思路方法:隐藏Control控件思路方法
多窗口编程存在着
![](/icons/93010yi.gif)
定
![](/icons/93010de.gif)
复杂性
![](/icons/93010dou.gif)
需要对多个窗体
![](/icons/93010de.gif)
?Frm文件进行管理
![](/icons/93010dou.gif)
编码时还需要频繁地在多个窗口间进行转换
![](/icons/93010dou2.gif)
实际上通过
![](/icons/93010yi.gif)
个窗体也可以编制出类似
![](/icons/93010de.gif)
封面效果
![](/icons/93010dou2.gif)
基本原理就是在
![](/icons/93010chengxu.gif)
运行时首先通过VISIBLE属性隐藏全部Control控件
![](/icons/93010dou.gif)
然后在主窗体内进行
![](/icons/93010chengxu.gif)
封面设计和演示
![](/icons/93010dou.gif)
延时
![](/icons/93010yi.gif)
定时间再恢复所有Control控件
![](/icons/93010de.gif)
显示
![](/icons/93010dou.gif)
即达到了独立
![](/icons/93010chengxu.gif)
封面
![](/icons/93010de.gif)
制作过程
![](/icons/93010dou2.gif)
由于窗体内
![](/icons/93010de.gif)
Control控件很多
![](/icons/93010dou.gif)
逐
![](/icons/93010yi.gif)
隐藏或显示非常繁琐
![](/icons/93010dou.gif)
可采用容器Control控件简化操作过程
![](/icons/93010dou.gif)
即把Control控件全部放到Frame1等Control控件上
![](/icons/93010dou.gif)
这样只要执行Frame1.Visible=0
![](/icons/93010dou.gif)
即可使其上面
![](/icons/93010de.gif)
所有Control控件隐藏起来
![](/icons/93010dou2.gif)
c由于
![](/icons/93010chengxu.gif)
只涉及
![](/icons/93010yi.gif)
个窗体
![](/icons/93010dou.gif)
![](/icons/93010chengxu.gif)
设计
![](/icons/93010de.gif)
大部分工作只是编码过程
![](/icons/93010dou.gif)
所以不再分步介绍
![](/icons/93010dou2.gif)
在窗体Form1中安放
![](/icons/93010yi.gif)
个时间Control控件Timer1和
![](/icons/93010yi.gif)
个容器Control控件Frame1,再在Frame1上安放
![](/icons/93010yi.gif)
个命令按钮Command1
![](/icons/93010dou.gif)
具体
![](/icons/93010chengxu.gif)
设计时可把所有主
![](/icons/93010chengxu.gif)
工作Control控件放在Frame1上;的后把下面
![](/icons/93010de.gif)
代码填入相应
![](/icons/93010de.gif)
事件的中即可完成全部
![](/icons/93010chengxu.gif)
设计工作
![](/icons/93010dou2.gif)
运行此
![](/icons/93010chengxu.gif)
后首先在全屏幕窗体内显示图像
![](/icons/93010dou.gif)
并从左上角开始逐渐放大
![](/icons/93010zifu.gif)
串“
![](/icons/93010chengxu.gif)
封面演示”
![](/icons/93010dou.gif)
放大过程中颜色发生平滑变化
![](/icons/93010dou.gif)
形成美丽
![](/icons/93010de.gif)
拖尾效果
![](/icons/93010dou.gif)
连续显示5次后自动关闭封面
![](/icons/93010dou.gif)
返回主
![](/icons/93010chengxu.gif)
窗口
![](/icons/93010dou.gif)
同样立即关闭
![](/icons/93010chengxu.gif)
封面
![](/icons/93010dou.gif)
返回主
![](/icons/93010chengxu.gif)
窗口
![](/icons/93010dou.gif)
单击主窗体中
![](/icons/93010de.gif)
命令按钮退出
![](/icons/93010chengxu.gif)
’定义全程变量
Dim i ,j As Integer
’退出
按钮
Private Sub Command1-Click ![](/icons/93010kh.gif)
End
End Sub
’单击窗体关闭封面
Private Sub Form-Click ![](/icons/93010kh.gif)
Frame1.Visible =1 ’恢复容器Control控件
timer1.Enabled =False ’关闭时间Control控件
Form1.WindowState =0 ’恢复缺省窗口模式
End Sub
’准备工作
Private Sub Form -Load ![](/icons/93010kh.gif)
Form1.WindowState =2 ’窗口最大化
Frame1.Width =Form1.Width ’调整容器Control控件尺寸
Frame1.Height =Form1.Height
Frame1.Top =0 ’调整容器Control控件位置
Frame1.Left =0
Frame1.Visible =0 ’隐藏容器Control控件
timer1.Interval =10 ’置时间频率
Form1.Picture =LoadPicture ("c:\windows\
up.bmp") ’装入图像
Form1.ScaleMode=3 ’置坐标刻度
Form1.FontName =“黑体” ’置字体名称
End Sub
’封面制作 (动画演示)
Private Sub timer1-Timer ![](/icons/93010kh.gif)
Strr ="
封面演示"
With Form1 ’透明显示
.Font.Transparent =True
.Font.Size = i + 1 ’放大字号
.Font.Italic =True ’斜体有效
.ForeColor=RGB(i*3,56,256-i*3) ’平滑变化颜色
End With
=strr
Form1.Current X=i ’连续改变坐标
Form1.Current Y=i
Form1.Pr
g ’显示
串
i = i +1
If i $#@62;72 Then ’放大到72号字
j =j +1 ’循环计数
i =0
Form1.Current X=72
Form1.Current Y=72
Form1.ForeColor =RGB(255,56,0) ’重新显示
次![](/icons/93010zifu.gif)
Form1.Pr
g
End If
If j =5 Then ’动画计数
Frame1.Visible =1 ’显示容器Control控件
timer1.Enabled =False ’关闭时间Control控件
Form1.WindowState=0 ’恢复窗口模式
End If
End Sub
以上思路方法及
![](/icons/93010chengxu.gif)
在WINDOWS 95系统下
![](/icons/93010dou.gif)
在VB4.0环境下调试通过