




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘 要iii第1章 概 述11.1 引言11.2 设计平台1第2章 开发工具简介22.1 VisualBasic6.0简介22.2 运用的控件和主要对象33.1主窗体4Private Sub qiyong_Click()53.2时钟窗体63.3屏幕保护窗体10第4章 结束语12参考文献13摘 要Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言,从任何标准来说,VB都是世界上使用人数最多的语言。它是一种面向对象的可视化程序设计语言,提供了集界面设计、编写代码和程序调试等于一体的集成开发环境。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。本文通过动画式时钟的设计与实现,同时说明了在VB环境下开发应用程序的思路和步骤。关键词:程序设计;时钟;Visual Basic6.0;界面第1章 概 述1.1 引言visual basic继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求我们越来越多地与计算机打交道,为了用户更加方便的,更加有舒适的心情,设计出一个比较舒心的时钟显示。1.2 设计平台VB全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。它继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求我们越来越多地与计算机打交道,为了使用户更加地使用舒心。第2章 开发工具简介2.1 VisualBasic6.0简介Visual Basic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单易学、效率高,且功能强大。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。2.1.1 工作界面简介: 默认的 VB 工作界面由标题栏(1)、菜单栏(2)、工具栏(3)、工具箱面板(4)、程序设计区(5)、项目窗口(6)、属性窗口(7)、布局窗口(8)组成,至于它们具体有什么作用,我们将在以后的实例学习中接触,这里就不予以说明。2.1.2 编写我的第一个应用程序:1、应用程序要产生的效果:创建的应用程序要有什么样的功能?这是开发每一个应用程序必须最先想到的。我们的第一个应用程序非常简单,使用者只需点击程序上的一个按钮.2、开发思路: 根据应用程序要实现的功能,那么我们至少需要制作一个按钮、一个程序界面,为了让应用程序更规范,我们还需要创建一个用来显示“跟我来学 VB 神童教程”字样的容器。2.1.3、知识点:(1)、我们的第一个程序确实非常简单,但它道出了程序设计的基本方法:首先,应用程序要用来做什么?也就是开发应用程序的目的;其次,应用程序大体上由哪些元素组成?也就是应用程序的操作界面如何,如果可能,最好先用笔把程序界面画出来;然后是对程序界面中每一个元素的属性进行设置;最后输入程序代码和调试。(2)、前面我们所谈到的“命令按钮”、“标签按钮”,其实它们准确的说法是“命令按钮控件”、“标签按钮控件”,无论是这些控件,还是刚才作为应用程序界面的“窗体”,都是“对象”,因此, VB 是一门面向对象的编程语言,每一个对象都具有很多属性,如大小、位置、标题等等。属性的设置通过属性窗口完成。(3)、这一点的内容不需强记,在以后的控件讲述中将会涉及。除了“命令控钮控件”、“标签按钮控件”,默认的工具箱面板上还有“指针”工具(用来选择程序设计窗口中的对象)、图片控件(在界面上添加图片)、文本框控件(在界面上显示文本或用来输入文本)、选项框控件(主要用来作为区域划分的控件,一般把相同类型的控件放置在一个选项框中,把其他类型的控件放在其他选项框中)、复选控件(用来制作复选按钮)、单选控件(制作单选按钮)、组合框控件(用来制作功能更为强大的列表框,既有文本框控件的功能,还有列表框控件的功能)、列表框控件(制作各种列表)、滚动条控件(共有横向与竖直两种)、时钟控件(一般用来添加时间触发)、文件操作控件(共有磁盘列表框控件、文件夹列表框、文件列表框三种),另外,还有绘图控件、图像框控件、日期控件。(4)、VB 提供了丰富的控件选择,除了默认的工具箱面板上的控件外,还有很多控件没有罗列出来,我们可以通过“工程部件”命令或在工具箱面板上单击鼠标右键.2.2 运用的控件和主要对象我们在设计过程中主要用到的控件有:Form ,Commandbutton ,MsgBox,Label,Frame ,PictureBox等。1、 窗体(Form) 窗体就是平时所说的窗口,它是VB编程中最常见的对象,也是程序设计的基础。各种控件对象必须建立在窗体上,即窗体是所有控件的容器。一个窗体对应一个窗体模块。2、 命令按钮(Commandbutton)命令按钮是VB应用程序中使用最多的控件之一,它常常用来接受用户的操作信息,激发相应的事件过程,是用户与程序交互的最简便的方法。3、消息框(MsgBox)在Windows中,如果操作失误,通常会在屏幕上显示一个对话框,提示用户进行选择,然后系统根据选择确定其后的操作。VB提供了MsgBox函数就可以实现此功能,它可以向用户传送信息,并可以接收用户在对话框上的选择,以次作为程序继续执行的依据。4、 标签(Label)VB提供的标签控件只能显示文本,而不能对文本进行编辑。标签通常用于标注本身不具有Caption属性的控件。5、 框架(Frame)框架主要用做控件的容器,也用于修饰界面。6、图片框(PictureBox)该控件可以用来显示图象,包括位图文件、图标文件、光标文件、元文件、增强的元文件、JPEG文件、GIF文件。第3章 设计实现3.1主窗体本窗体起着菜单的作用。一切功能都通过菜单实现。窗体中仅有一个text文本框。文件包括:新建、打开、保存、查看源代码和退出。新建就是清空text,建立一个新的文档。打开和保存分别是弹出一个打开文本和保存文本的对话框,选择路径打开和保存文件。查看源代码就是将存有整个设计源代码的txt文件打开在text中。 编辑包括:剪切、复制、粘贴。文本包括:字体和颜色。就是对text中文本的字体和颜色进行编辑。但是功能不是很完善,不能针对选种的文本进行编辑,只能一块儿改变。 显示时钟就是显示时钟窗体(form1)。屏幕保护包括立即启动和定时设置。代码:Private Sub Form_Load()Static canshu As Integer canshu = 0 Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Unload Form3End SubPrivate Sub Form_Resize() 保持text随窗体的变化而变化 Text1.Width = Form2.Width - 300 Text1.Height = Form2.Height Text1.Left = 200End SubPrivate Sub fuzhi_Click() 复制 Clipboard.Clear Clipboard.SetText Text1.SelTextEnd SubPrivate Sub jianqie_Click() 剪切 Clipboard.Clear Clipboard.SetText Text1.SelText Text1.SelText = End SubPrivate Sub kandaima_Click() 按相对路径把存有整个设计源代码的txt文件在text中打开Dim strtemp As StringDim strout As StringOpen App.Path & .daima.txt For Input As #1Do While Not EOF(1)Line Input #1, strtemp Text1.Text = Text1.Text + strtemp + Chr(13) + Chr(10) Loop Print strout Close #1End SubPrivate Sub qiyong_Click()Load Form3 启用屏幕保护程序 Form3.showEnd SubPrivate Sub shizhong_Click() 显示时钟窗体 Form1.showEnd SubPrivate Sub Timer1_Timer()判断是否到启用屏幕保护程序的时间了 If Format(Time, Long Time) = settime Then Form3.show Timer1.Enabled = False End IfEnd SubPrivate Sub tuichu_Click()退出 Unload MeEnd SubPrivate Sub usetimeset_Click()屏幕保护时间设置对话框 settime = InputBox(Space(4) & 请您设定要启用屏幕保护程序的时间:(注意:输入时间的格式必 须为“Long Time”,例如“1:05:00”!), 启用屏幕保护时间设定, Format(Time, Long Time)End SubPrivate Sub xinjian_Click() 清空text,新建文件 Text1.Text = Text1.SetFocusEnd SubPrivate Sub yanse_Click() 调出颜色对话框,对text中文本颜色进行设置 On Error Resume Next CommonDialog1.ShowColor If Err.Number 32755 Then Text1.ForeColor = CommonDialog1.Color End If End SubPrivate Sub zhantie_Click() 粘贴 Text1.SelText = Clipboard.GetText()End SubPrivate Sub ziti_Click() 调出字体编辑对话框,对text中文本字体进行设置On Error Resume NextCommonDialog1.Flags = &H200 + &H3 + &H100CommonDialog1.ShowFontIf Err.Number 32755 Then Text1.FontName = CommonDialog1.FontName Text1.FontSize = CommonDialog1.FontSize Text1.FontBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialog1.FontUnderlineEnd IfEnd Sub3.2时钟窗体同样窗体以一个图片为背景,衬作时钟的标签。中间为一个shape控件(圆)。控件上有三条线,分别为时钟的表针。通过调用系统时间并且控制线的坐标来控制其走动。表盘刻度为程序代码所画。功能包括:闹时设置、系统时间(显示、取消)、声音(有、无)和退出。闹时设置就是看系统时间是否与设置时间相同,然后决定要不要打开闹铃音乐。系统时间显示时会出现在窗体的caption处。声音的有无就是秒针走动是有没有beep声。代码:Dim X0, Y0, r1, r2, r3 As Integer, timeset As StringConst pi = 3.1416Private Sub drawclock() 定义一个过程用来画表盘刻度Dim i As IntegerFor i = 0 To 59theata = (i * 6 - 90) / 180 * pi If i Mod 15 = 0 Then 画3,6,9,12四个时刻度(较长) Form1.DrawWidth = 1 Form1.Line (X0 + (Shape1.Height / 2 - 200) * Cos(theata), Y0 + (Shape1.Height / 2 - 200) * Sin(theata)-(X0 + Shape1.Height / 2 * Cos(theata), Y0 + Shape1.Height / 2 * Sin(theata), vbBlue ElseIf i Mod 5 = 0 Then 画其他时刻度(稍长) Form1.DrawWidth = 1 Form1.Line (X0 + (Shape1.Height / 2 - 100) * Cos(theata), Y0 + (Shape1.Height / 2 - 100) * Sin(theata)-(X0 + Shape1.Height / 2 * Cos(theata), Y0 + Shape1.Height / 2 * Sin(theata), vbBlue Else Form1.DrawWidth = 1 画分刻度(较短) Form1.Line (X0 + (Shape1.Height / 2 - 50) * Cos(theata), Y0 + (Shape1.Height / 2 - 50) * Sin(theata)-(X0 + Shape1.Height / 2 * Cos(theata), Y0 + Shape1.Height / 2 * Sin(theata), vbBlue End IfNext iEnd SubPrivate Sub cancel_Click()Timer2.Enabled = False 取消系统时间显示Form1.Caption = 时钟End SubPrivate Sub Form_Load() Timer3.Enabled = True Dim r, i, j X0 = Shape1.Left + Shape1.Width / 2 定义表盘的中心在shape的中心 Y0 = Shape1.Top + Shape1.Height / 2 r = Shape1.Height / 2 表盘的半径为shape高的一半 计算时针,分针,秒针的长度 r1 = Sqr(Line1.X2 - Line1.X1) 2 + (Line1.Y2 - Line1.Y1) 2) r2 = Sqr(Line2.X2 - Line2.X1) 2 + (Line2.Y2 - Line2.Y1) 2) r3 = Sqr(Line3.X2 - Line3.X1) 2 + (Line3.Y2 - Line3.Y1) 2) End SubPrivate Sub no_Click() Timer3.Enabled = FalseEnd SubPrivate Sub shezhi_Click() 闹钟时间设置 timeset = InputBox(Space(4) & 注意:输入时间的格式必须为“Long Time”,例如“1:05:00”!, 闹钟设置, Format(Time, Long Time)End SubPrivate Sub show_Click() 系统时间显示 Timer2.Enabled = True Form1.Caption = Format(Time, Long Time)End SubPrivate Sub Timer1_Timer() 当系统时间和设置时间相同时,按相对路径调入并播放铃声音乐 If Format(Time, Long Time) = timeset Then Timer1.Enabled = True MMControl1.FileName = .时钟music.MP3 MMControl1.Command = open MMControl1.Command = play End If Line1.Visible = True 表针可见 Line2.Visible = True Line3.Visible = True Call drawclock 调出画表盘刻度的过程 表针的转动控制 Dim t1, t2, t3 As Integer, theata1, theata2, theata3 As Double t1 = Second(Time) theata1 = (t1 * 6 - 90) / 180 * pi Line1.X1 = X0 - 150 * Cos(theata1) Line1.Y1 = Y0 - 150 * Sin(theata1) Line1.X2 = X0 + r1 * Cos(theata1) Line1.Y2 = Y0 + r1 * Sin(theata1) t2 = Minute(Time) + t1 / 60 theata2 = (t2 * 6 - 90) / 180 * pi Line2.X1 = X0 - 100 * Cos(theata2) Line2.Y1 = Y0 - 100 * Sin(theata2) Line2.X2 = X0 + r2 * Cos(theata2) Line2.Y2 = Y0 + r2 * Sin(theata2) t3 = Hour(Time) + t2 / 60 + t1 / 3600 theata3 = (t3 * 30 - 90) / 180 * pi Line3.X1 = X0 - 50 * Cos(theata3) Line3.Y1 = Y0 - 50 * Sin(theata3) Line3.X2 = X0 + r3 * Cos(theata3) Line3.Y2 = Y0 + r3 * Sin(theata3)End SubPrivate Sub Timer2_Timer() Form1.Caption = Format(Time, Long Time) 将系统时间显示在窗体顶部End SubPrivate Sub Timer3_Timer() BeepEnd SubPrivate Sub tuichu2_Click() Unload MeEnd SubPrivate Sub yes_Click() Timer3.Enabled = TrueEnd Sub 图1.1时钟窗体3.3屏幕保护窗体 将窗体背景设为深蓝。在加载时使其全屏。在其上面循环画几何曲线。使其看起来有动态效果。这个设计是循环画出60个不同的几何图形。代码如下。Private Declare Function ShowCursor Lib user32 (ByVal bShow As Long) As LongPrivate Sub Form_KeyPress(KeyAscii As Integer) ShowCursor (1) Unload MeEnd SubPrivate Sub Form_Load() 使窗体全屏显示 ShowCursor (0) Form3.Width = screen.Width Form3.Height = screen.Height Me.Move 0, 0, screen.Width, screen.HeightEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Static X11, Y11 As Single X11 = X11 + 1 Y11 = Y11 + 1If X11 = 5 Or Y11 = 5 Then X11 = 0 Y11 = 0 ShowCursor (1) Unload MeEnd IfEnd SubPrivate Sub Timer1_Timer()Static t, X1, Y1, X2, Y2, i, r, shu1, shu2 As SingleConst pi = 3.1416Scale (-1, 1)-(1, -1) 重定义系统坐标(中心为原点,右X正方向,上为Y正方向,两轴总长均为2) i = i + 0.02If i = pi / 2 Then 以pi/2为一个周期 r = Cos(shu1 * i) X2 = r * Cos(i) Y2 = r * Sin(i) If shu2 = 20 Then Line (Y2, X1)-(-Y1, -X2) Line (-Y2, X1)-(Y1, -X2) Line (Y2, -X1)-(-Y1, X2) Line (-Y2, -X1)-(Y1, X2) ElseIf shu2 = 40 Then Line (Y1, X1)-(-Y2, -X2) Line (-X1, Y1)-(Y2, -X2) Line (X1, -Y1)-(-Y2, X2) Line (-Y1, -X1)-(Y2, X2) ElseIf shu2 = 60 Then Line (X1, Y2)-(X2, Y1) Line (-X1, Y2)-(-X2, Y1) Line (X1, -Y2)-(X2, -Y1) Line (-X1, -Y2)-(-X2, -Y1) ElseIf shu2 = 80 Then Line (X1, Y1)-(X2, Y2) Line (-X1, Y1)-(-X2, Y2) Line (X1, -Y1)-(X2, -Y2) Line (-X1, -Y1)-(-X2, -Y2) Else: shu2 = 0 shu2返回到0,进行循环画图 End If X1 = X1 + (X2 - X1) * t Y1 = Y1 + (Y2 - Y1) * tElse Cls 每刷新一次,也即每画完一幅图,shu1、shu2增值1 i = 0 shu2 = shu2 + 1 shu1 = shu1 + 1End IfIf shu1 = 5 And t = 0 Then t=0时显示10幅不同的图线 shu1 = 0 t = 0.05 ElseIf shu1 = 10 And t = 0.05 Then t=0.05时显示10幅不同的图线 shu1 = 0 t = 0End IfEnd Sub 第4章 结束语概述操作路径:1、启动VB,新建一个标准exe工程,在工具条里添加CommonDialog控件。2、在Form里面添加一个Line、一个Timer、一个CommonDialog控件;修改Form的Captiono为“我的时钟”,Width和Height为5000;修改Line的BorderWidth为3,Inde
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨与关节感染试题及答案
- 掌握护理记录的重要性护士资格证考试试题及答案
- 谚语测试题及答案
- 陈列经理面试题及答案
- 项目管理师复习重点归纳试题及答案
- 药剂学的未来技术研究试题及答案
- 激光技术工程师未来发展及试题及答案
- 西医临床综合素质试题及答案
- 网络规划设计师考试全面提升方案试题及答案
- 角色扮演育婴师考试试题及答案
- 急性胰腺炎护理业务学习课件
- 《数据科学与大数据技术导论》完整版课件(全)
- 《枪炮、病菌与钢铁》-基于地理视角的历史解释(沐风学堂)
- 压电陶瓷精品课件
- 教学课件·植物组织培养
- 纸包装生产企业设备管理课件
- 部编版语文一年级下册识字8-人之初市级优质课课件
- 基于仿真的轴承动力学分析设计毕业设计说明书
- 丽声北极星分级绘本第二级下Eek,Spider 教学设计
- (高清正版)JJF 1908-2021 双金属温度计校准规范
- 测量成果验收单
评论
0/150
提交评论