APP下载

用Visual Basic程序实现霓虹灯动态效果

2017-11-06谭立球邵博雅

山西电子技术 2017年5期
关键词:霓虹灯窗体控件

谭立球,邵博雅

(1. 中南大学信息与网络中心,湖南 长沙 410083;长沙市南雅中学,湖南 长沙 410129)

2017-09-01

谭立球(1970- ),男,湖南益阳人,高级工程师,博士,研究方向:软件工程,图像处理。

1674- 4578(2017)05- 0055- 03

用Visual Basic程序实现霓虹灯动态效果

谭立球1,邵博雅2

(1. 中南大学信息与网络中心,湖南 长沙 410083;长沙市南雅中学,湖南 长沙 410129)

Visual Basic是一种功能强大,且简单易学的程序设计语言。用Visual Basic程序设计开发平台能够实现很多应用功能。本文基于Visual Basic6.0开发平台,通过利用Visual Basic中的计时器控件(Timer),Label控件进行设计,实现了一种霓虹灯闪烁和移动的动态效果。

动态效果;计时器;Label;Visual Basic;控件

Visual Basic(VB)程序设计是一种简单易学,但功能强大的程序设计语言。另一方面,VB在设计思想上引入两个重要的方法:可视化编程以及事件驱动的编程机制。这大大地简化了程序设计的难度,使没有任何编程基础的人也能够在短时间内掌握。因此,VB程序设计在过去的20年中成为了一种广泛的程序设计语言。

应用VB进行程序开发,一个重要的方面就是实现动画效果。在动画设计方面,学者李艳通过利用Timer、Picture、shape等控件实现了一个简单的动画效果;陈艇等人利用PictureClip控件实现了连续图片动画效果;文献提出了VB程序设计的动画设计方法;而文献利用VB设计了一个简单的霓虹灯效果。

本文是在上述文献的基础上,基于VB 6.0开发平台,利用Timer控件、Label控件等实现了一个星星闪烁的霓虹动态效果。

1 设计过程

霓虹灯是一种低气压冷阳极辉光放电发光的光源,是我们日常生活中最常见的。通过使光源发出不同的颜色,形成了迷人的闪烁效果。另一方面,如果让不同位置的光源不同时间发光,则会展示出一种动态的效果。本文便是利用这一原理,基于VB实现霓虹灯的动态效果。

1.1 关键控件介绍

VB中的Timer控件是进行程序设计的一个重要的控件。在timer控件中设置Interval属性,可以让在timer事件过程中的程序代码以周期性的执行。因此,可以利用Timer的这一特点来设计具有周期性的程序。

1.2 设计思路

利用霓虹灯的闪烁原理,来完成本文中的霓虹灯动态效果。首先需要进行运行界面的设计。在主窗体中,首先将Timer控件放入,并添加一个名称为Label1的label数组控件,以及三个label控件。

然后,通过设计Timer的Interval属性值,此属性值取值范围为0~65535,单位为毫秒。它决定了时钟事件的执行时间间隔。为使霓虹灯效果显示明显,一般设置Interval属性值在200~600 ms。

针对Label1控件数组,通过设置其属性值ForeColor,来改变颜色,并在程序运行过程中设置其中对应的Visible属性,形成闪烁的效果。此外,在Timer控件时间过程中,通过设置不同分组的label1中的元素,在不同的时钟周期中显示,从而产生动态的效果。

1.3 设计步骤

1) 新建工程。打开VB6.0程序设计开发平台,新建一个包含窗体的工程。

2) 界面设计。在新建工程的窗体(Form1)添加1个Timer控件、1个含有30个Label标签的控件数组以及3个Label标签控件。并针对上述控件做如下相关属性的设置:

表1 控件属性设置

进行属性设置后的界面效果如图1所示。

图1 设计界面效果

前台设计完成之后,便可以双击对应的窗体及控件进行程序代码的设计。

2 程序代码及运行效果

2.1 程序代码

在窗体装载时间过程中编写如下代码,进行初始化:

Private Sub Form_Load()

Dim index As Integer

Num = 0

For index = 0 To 9

Label1(index * 3).ForeColor = &HFF&

Label1(index * 3 + 1).ForeColor = &HFF00&

Label1(index * 3 + 2).ForeColor = &HFFFF&

Next index

End Sub

在Timer事件过程中编写如下代码,完成动态效果的设计:

Private Sub Timer1_Timer()

Dim index As Integer

If Num = 3 Then

Num = 0

End If

For index = 0 To 29

Label1(index).Visible = False

Next index

If Num Mod 3 = 0 Then

For index = 0 To 9

Label1(index * 3).Visible = True

Next index

Label2.ForeColor = &HFF& '

Label3.ForeColor = &HFF00&

Label4.ForeColor = &HFF00&

Else

If Num Mod 3 = 1 Then

For index = 0 To 9

Label1(index * 3 + 1).Visible = True

Next index

Label2.ForeColor = &HFF00&

Label3.ForeColor = &HFF&

Label4.ForeColor = &HFF00&

Else

For index = 0 To 9

Label1(index * 3 + 2).Visible = True

Next index

Label2.ForeColor = &HFF00&

Label3.ForeColor = &HFF00&

Label4.ForeColor = &HFF&

End If

End If

Num = Num + 1

End Sub

2.2 运行效果

经过上述程序的设计,使得程序在运行时,每循环一个时钟周期,显示出不同组的星星;同时,每次显示的颜色也不同。这样,便产生了霓虹灯的闪烁和移动的动态效果。其运行时的效果如图2,图3,图4所示。

图2 第一个时钟周期运行效果

图3 第二个时钟周期运行效果

3 小结

本文通过使用VB6.0开发平台的Timer控件以及Label控件实现了霓虹灯的动态效果设计。通过界面以及代码的设计,不仅实现了霓虹灯的闪烁效果,同时在前人的基础上实现了一种星星移动的动态效果。通过这样的设计,使得这个程序和现实生活中的霓虹灯更加相似。

图4 第三个时钟周期运行效果

[1] 李艳.VB中动画效果的实现.福建电脑,2008(8):189-189.

[2] 陈艇,陈少琴,洪超群.基于PictureClip控件的连续图片动画效果的实现.计算机光盘软件与应用,2014(10):215-215.

[3] 陆斌,何友金.基于VB的动画方法及应用,微机发展及应用,2003,13(6):29-31.

[4] 朱春香.VB程序中霓虹灯效果的设计与实现.电子商务,2012(1):69-69.

TheRealizationofNeonDynamicEffectsUsingVisualBasicProgram

Tan Liqiu1, Shao Boya2

(1.InformationandNetworkCenter,CentralSouthUniversity,ChangshaHunan410083,China;2.NanyaMiddleSchool,ChangshaHunan410129,China)

Visual Basic program is a powerful and easy to learn program. Which is can be used to realize many application functions. Based on the Visual Basic6.0 development platform, by using the timer control (timer) in visual basic, the label control is designed to achieve the dynamic effect of flashing and moving neon lights.

dynamic effects;timer;label;visual basic;controller

TP311.52

A

猜你喜欢

霓虹灯窗体控件
夜钓
霓虹梦
试谈Access 2007数据库在林业档案管理中的应用
关于.net控件数组的探讨
基于PLC的霓虹灯控制系统
ASP.NET服务器端验证控件的使用
《霓虹灯下的哨兵》民间隐形结构解析
巧设WPS窗体控件让表格填写更规范
基于嵌入式MINIGUI控件子类化技术的深入研究与应用
WinCE.net下图形用户界面的开发