开篇:润墨网以专业的文秘视角,为您筛选了一篇下课倒计时软件的设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:在计算机屏幕上显示出下课剩余时间,时间到时弹出对话框,随之播放选择的音乐。
关键词:倒计时;播放音乐;对话框
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)20-4618-02
对于一名老师来说,把握下课的时间很重要,上课过程中需要了解一下时间,从而掌握教学进度。那么如何在电脑桌面上显示上课剩余时间呢?我利用VB编写了一个倒计时的程序。功能主要有:1)能实时显示上课剩余时间;2)在结束时能够弹出对话框来提醒;3)能选择音乐文件,在时间结束时播放。4)窗口较小,不会影响其它软件的使用和显示。
需解决的难题是:如何使程序运行窗口和结束时的弹出窗口总是在最前面。
1 程序的编写
程序中涉及到如下几个控件:一个标签(用于显示倒计时的数字),一个下拉列表框(用于选择从倒计时的初始值,默认值是45分钟),两个按钮(一个用于开始计时和取消计时,另一个用于选择打开音乐文件),一个定时器(产生timer事件),一个通用对话框(当action属性为1或用showopen方法时产生“打开”对话框,选择所需要的音乐文件),一个媒体播放控件windowsmediaplayer(用于播放音乐)。
通用对话框不是标准控件,只是一种ActiveX控件,在VB编程中需要通过选择“工程”“部件”命令加载Microsoft Common Dialog Control 6.0部件,工具箱上会出现通用对话框图标。
如下是这个程序所涉及的代码:
先建立一个通用模块,用于设置运行时的程序窗口在最前面的函数。
Public Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
‘下面是各个控件的代码
Dim t As Date ‘定义一个全局变量t
Private Sub Form_Load()
SetWindowPos Me.hWnd, -1, 0, 0, 0, 0, 3 ‘设置窗口总在最前面
For i = 1 To 99
Combo1.AddItem i
Next i
End Sub
Private Sub Command1_Click() ‘用于设置和取消计时的按钮
If Command1.Caption = "设置" Then
t = Time ‘记录点击设置时的时间
Timer1.Interval = 1000 ‘计时器开始运行
WindowsMediaPlayer1.Controls.stop ‘媒体播放器停止播放
Combo1.Enabled = False
Command1.Caption = "取消"
Else
Combo1.Enabled = True
Command1.Caption = "设置"
End If
End Sub
Private Sub Command2_Click() ‘选择音乐的按钮
CommonDialog1.Action = 1
WindowsMediaPlayer1.URL = CommonDialog1.FileName ‘播放音乐的文件就是通过通用对话框选择的文件。
End Sub
Private Sub Timer1_Timer() ‘计时器控件的代码
If Command1.Caption = "取消" Then
Label1.Caption = Format(Val(Combo1.Text) - DateDiff("n", t, Time), "##")
End If
If Val(Combo1.Text) = DateDiff("n", t, Time) Then
Combo1.Enabled = True
Command1.Caption = "设置"
WindowsMediaPlayer1.Controls.play
MsgBox "休息一会儿!", vbMsgBoxSetForeground‘时间到时弹出对话框,并在最前面
Timer1.Interval = 0
End If
End Sub
Private Sub WindowsMediaPlayer1_OpenStateChange(ByVal NewState As Long)
WindowsMediaPlayer1.Controls.pause
End Sub
2 程序的运行
通过编译生成可执行文件后,如果别的计算机上没安装VB,则会提示“Componet ‘COMDLG32.OCX’ or one of its dependencies not correctly registered: a file is missing or invalid”,这是因为用于通用对话框控制的ActiveX控制模块comdlg32.ocx没有注册。这就需要下载comdlg32.ocx这个文件,然后将它拷贝到C:\windows\system32\文件夹下,接着运行注册命令“regsvr32 C:\WINDOWS\system32\COMDLG32.OCX”,就可正常运行倒计时软件了。
3 结束语
程序的编写都有一个循序渐进的过程,刚开始只是编写了一个小窗口的倒计时程序,后来逐步增加弹出窗口和加入音乐文件,音乐播放从开始固定音乐文件播放,到后来可以自由选择音乐文件的播放。这一路编写下来,确实充满了乐趣。
参考文献:
[1] 龚沛曾,杨志强,陆慰民.Visual Basic程序设计教程[M].北京:高等教育出版社,2009.