选择显示字体大小

在vb中制作单独程序封面的两种方法

  

 这里所谓的单独封面,是只独立应用程序窗口本身的一个窗口,这个窗口在程序运行时首先弹出屏幕,用于装饰程序本身,或简单的演示一下程序的优越性。这样的封面在很多专业的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’显示窗口2form2.showend sub

  4、在窗体form2中定义全程变量:

  dim strr1 as stringdim i as integer

  5、在窗体form2中放入一个时间控件timer1。

  6、在窗体form2中的form-load ()事件中输入以下代码,用于在窗体2中显示图像,并置时间控件频率:

  private sub form-load ()form2.picture = loadpicture("c:\windows\setup.bmp")timer1.interval = 10i =0end 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
f 2.current y=y
form2.print strr1 ’显示字符
i = i +1 ’计数
if i $#@62;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,即可使其上面的所有控件隐藏起来。

  c由于程序只涉及一个窗体,程序设计的大部分工作只是编码过程,所以不再分步介绍。在窗体form1中安放一个时间控件timer1和一个容器控件frame1,再在frame1上安放一个命令按钮command1,具体程序设计时可把所有主程序工作控件放在frame1上;之后把下面的代码填入相应的事件之中即可完成全部程序设计工作。运行此程序后首先在全屏幕窗体内显示图像,并从左上角开始逐渐放大字符串“程序封面演示”,放大过程中颜色发生平滑变化,形成美丽的拖尾效果,连续显示5次后自动关闭封面,返回主程序窗口,同样立即关闭程序封面,返回主程序窗口,单击主窗体中的命令按钮退出程序。

’定义全程变量
dim i ,j as integer
’退出程序按钮
private sub command1-click ()
end
end sub
’单击窗体关闭封面
private sub form-click ()
frame1.visible =1 ’恢复容器控件
timer1.enabled =false ’关闭时间控件
form1.windowstate =0 ’恢复缺省窗口模式
end sub
’准备工作
private sub form -load ()
form1.windowstate =2 ’窗口最大化
frame1.width =form1.width ’调整容器控件尺寸
frame1.height =form1.height
frame1.top =0 ’调整容器控件位置
frame1.left =0
frame1.visible =0 ’隐藏容器控件
timer1.interval =10 ’置时间频率
form1.picture =loadpicture ("c:\windows\setup.bmp") ’装入图像
form1.scalemode=3 ’置坐标刻度
form1.fontname =“黑体” ’置字体名称
end sub
’封面制作 (动画演示)
private sub timer1-timer ()
strr ="程序封面演示"
with form1 ’透明显示
.font.transparent =true
.font.size = i + 1 ’放大字号
.font.italic =true ’斜体有效
.forecolor=rgb(i*3,56,256-i*3) ’平滑变化颜色
end with
string =strr
form1.current x=i ’连续改变坐标
form1.current y=i
form1.print stringg ’显示字符串
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) ’重新显示一次字符
form1.print stringg
end if
if j =5 then ’动画计数
frame1.visible =1 ’显示容器控件
timer1.enabled =false ’关闭时间控件
form1.windowstate=0 ’恢复窗口模式
end if
end sub

  以上方法及程序在windows 95系统下,在vb4.0环境下调试通过。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons