300 likes | 509 Views
第二章 VB 可视化编程初步. 掌握 VB 应用程序开发的一般步骤; 掌握命令按钮、文本框和标签的使用以及 MsgBox 函数的用法; 理解赋值语句、变量的概念、理解对象、属性、方法和时间的概念及其之间的区别和联系,理解事件驱动的原理; 了解时钟程序的工作原理。. 一、时钟程序任务. 任务描述 界面设计 代码设计 保存和运行程序 编译与打包 安装运行 VB 应用程序开发的一般步骤. VB 应用程序开发的一般步骤 开发一个 VB 应用程序,一般有如下几个步骤。本书后续章节在介绍开发 实例时,将主要介绍前三个步骤。 1 、设计应用程序界面
E N D
第二章 VB可视化编程初步 • 掌握VB应用程序开发的一般步骤; • 掌握命令按钮、文本框和标签的使用以及MsgBox函数的用法; • 理解赋值语句、变量的概念、理解对象、属性、方法和时间的概念及其之间的区别和联系,理解事件驱动的原理; • 了解时钟程序的工作原理。
一、时钟程序任务 • 任务描述 • 界面设计 • 代码设计 • 保存和运行程序 • 编译与打包 • 安装运行 • VB应用程序开发的一般步骤
VB应用程序开发的一般步骤 开发一个VB应用程序,一般有如下几个步骤。本书后续章节在介绍开发 实例时,将主要介绍前三个步骤。 1、设计应用程序界面 2、设置对象属性 3、编写代码 4、保存和运行工程 5、编译与打包 6、安装运行
二、程序代码分析 (一)变量 是指在程序运行过程中其值可以改变的那些量。 变量命名规则: • 第一个字符必须是字母 • 其它字符只能是字母、数字、下划线 • 最后一个字符可以是类型说明符 • 变量名最长可达255个字符 • 不能与保留字重名,如Input • 尽量使用有意义的名字
声明变量 • 隐式声明:变量不经声明直接使用,此时该变量将被赋予缺省的类型和值如:class=3'class为整型name="张三"'name为字符串 • 显式声明:变量声明后再使用 强制显式声明 • 工具/选项/编辑器/要求变量声明 • 代码编辑器/对象列表中选通用,在声明区加入声明option explicit
使用Dim语句声明变量一般格式:Dim 变量名 As 变量类型 例:Dim num As Integer '声明num为整型变量Dim test As long, today As Date '同时声明test为长整型,today为日期型Dim str As string,value '声明str为一变长字符串,value为不定类型
全局变量的声明 全局变量是可以在工程中的所有程序模块使用的变量。使用关键字Public和Global 如:Public test1 As Integer Global test2 As Byte
(二)赋值语句 格式: 变量名=表达式或 对象名.属性名=表达式 注意: 1、不要把赋值号“=”与数学中的等号相混淆 m=m-1 2、赋值号“=”左边必须是变量名或对象属性,“=”右边是表达式,其值可以是常量、变量、函数或是它们的混合运算式 m=val(text1.text)*60 z=x+y b=1 c=b*2+2 label1.caption=“现在开始倒计时”
(三)MsgBox语句和函数的使用 MsgBox函数的格式: 变量=msgbox(提示信息[,对话框类型[,对话框标题]]) MsgBox命令语句的格式: msgbox 提示信息[,对话框类型[,对话框标题]] MsgBox函数各参数使用与MsgBox语句函数相同,但是MsgBox语句没有返回值。
参数说明: (1)“提示信息”指定在对话框中出现的文本。 (2)“对话框标题”指定了对话框的标题。 (3)“对话框类型”是可选项,用来指定对话框中出现的按钮和图标,见(p32表2.1、表2.2、表2.3),该参数的值有三类数值相加产生,这三类数值分别表示按钮的类型、显示图标的种类和默认按钮的位置。 msgbox “时间到!”,0,”倒计时” (4)函数返回值 见p32表2.4
编写程序利用MsgBox函数创建对话框 Private Sub Form_Click() msgtitle$="考生登录信息提示" msg1$="准考证号输入有误,请重新输入正确的号码!" w=MsgBox(msg1$,37,msgtitle$) Print w End Sub
例如:执行下列语句 private sub command1_click() msgbox(“除数不能为0!”,vbokcancel,”输入数据错误”) end sub 例如:执行下列语句 private sub command1_click() a=msgbox(“密码不正确”,2+32+0,”标题”) if a=3 then end end if end sub
例如:执行下列语句 private sub command1_click() msgbox “密码不正确,”+chr(13)+”请重新输入!” end sub
三、窗体及基本控件 (一)对象的概念、属性及方法 1、对象的概念 是代码和数据的封装体,每个对象或控件都具有属性和行为。 例:窗体、标签、文本框、命令按钮和时钟控件 2、属性 是一个对象的基本特征,每个对象都有它自己的属性。 例:标题(Caption)、名称(Name)等 可通过以下两种方法设置对象的属性: (1)在设计阶段,通过属性窗口的属性列表框设置对象的属性值 (2)在程序代码中,用复制语句设置对象的属性,其格式为: 对象名.属性名=属性值 如:label1.caption=“现在开始倒计时”
3、方法 就是要执行的动作,可以将它理解为VB提供的一种特殊的过程和函数。 如:对象打印(print)方法、显示窗体(show)方法、清除 (cls)和移动 (move)方法等。 调用对象方法的格式为: 对象名.方法名 如:form1.print “你好!” 注意:一是只能在程序代码中使用; 二是在form_load()事件中使用print方法之前一定要调用show方法。 4、事件 就是在对象上所发生的事情。系统预先为每个对象定义好了一系列事件,例如,单击(Click)事件、双击(DblClick)事件、装入(Load)事件、改变(Change)事件、鼠标移动(MouseMove)事件等。 事件过程:系统响应某个事件后所执行的程序代码。其一般格式如下: Private Sub 对象名_事件名() 程序代码 End Sub
(二)窗体 窗体(Form)是用户界面基本的构造模块,是其它对象的载体或容器 1、窗体的基本属性 (1)Name属性 只能在属性窗口中设置。 (2)Caption属性 用于设置窗体的标题。 (3)MaxButton和MinButton属性 各有两个属性值True和False,分别决定在窗体上是否具有最大化和最小 化按钮。 (4)BorderStyle边框样式属性 只能在属性窗口中设置。 (5)Picture属性 用于设置在窗体上要显示的图片。可以用以下格式设置: 对象.Picture=LoadPicture(“文件名”) 其中:LoadPicture是一个装载图片函数。 (6) BackColor/Forecolor:这个属性用于设置窗体的背景颜色和前景颜色即在窗体上输出的文本的默认颜色。
(7) Icon属性 用于设置窗体的图标 (8) Visible属性 用于设置窗体是否可见。当值为True是,显示窗体,为False是隐藏窗体。 (9) WindowsState属性 用来设置在运行时窗体的显示状态。 2、窗体的常用方法 (1) Show方法 用于快速显示窗体。与窗体的Visible属性设置为True时的效果一样。 Form1.Show 与 Form1.Visible=True 效果相同。 (2) Hide方法 其功能是隐藏窗体。 Form1.Hide 与 Form1.Visible=False 效果相同。 (3) Print 方法 用于在窗体、图片框上输出文本。 如:在Form_Load中输入:Debug.Print “Print方法可在窗体中打印文本”
(4) Cls方法 用于清除运行时在窗体和图片框中显示的文本或图形。 如:Picture1.Cls Cls (5) Move方法 将窗体移动到指定位置,如语句Form1.Move (0,0)的作用是将窗体Form1移动到屏幕的左上角。 3、窗体的常用事件 (1)Click事件 (2) DblClick事件 (3) Load事件 (4) Unload事件 (5) Activate和DeActivate事件 当一个窗体变成活动窗体时,就会触发Activate事件,而当窗体不再是活动窗体时会触发DeActivate事件。Activate事件紧接Load事件发生。
(三)命令按钮 • 其主要功能是通过命令按钮来调用Click 事件过程。控制开始、中断、结束一个进程。 • 1、常用属性 • Enabled:允许程序在运行时使窗体和控件成为有效或无效 object.Enable [=boolean] • Visible:允许在程序运行时隐藏一个对象object.Visible [=boolean • Style:设置按钮外观。0为标准Windows风格 ,1为允许带有自定义图片Picture:Style为1时,指定粘贴到按钮上的图形文件 • Default:属性为True时,指定为窗体缺省按钮 • Cancel:属性为True时,指定为窗体缺省取消按钮
例如: Option Explicit Private Sub Form_Load() Text1.Text = "" Command1.Caption = "save" End Sub Private Sub Text1_Change() If Text1.Text = "" Then Command1.Enabled = False Else Command1.Enabled = True End If End Sub
2、常用方法 • SetFocus方法 • 3、常用事件 • Click事件,以下情况可发生Clicl事件: • (1) 在按钮上单击鼠标。 • (2) 焦点在按钮上,按空格键或回车键。 • (3) 在代码中将按钮Value属性设置为True • (4) 对于取消按钮按Esc键 • (5) 在Caption属性中用&符号链接一访问键,在运行时按Ali+访问键。
(四)标签 • 用来显示不能编辑的文本信息,一般用于显示标题和说明性文字等 • 1、常用属性 • Autosize属性:用来设置标签是否能自适应大小。 • Alignment属性:设置标签中文本的对齐方式0:左对齐 1:右对齐 2:居中 • Caption属性:设置标签框中要显示的内容 • Font属性:设置文本字体 • Enabled属性:设置标签控件是否可用 • Visible属性:设置标签控件是否可见 • BorderStyle属性:属性值为0时表示标签无边框,属性值为1表示有边框 • BackStyle属性:属性值为0时表示控件的背景是透明的,即可以看到下层的控件和窗体;属性值为1时,标签背景是不透明的。 • ForeColor /BackColor属性:同窗体 • WordWrap属性:用来设置标签中的内容是否能够多行显示。同时应将AutoSize属性值设为True,否则,标签不能在垂直方向上扩展。 • 2、常用方法 • Move方法,用来实现控件的移动。
其他用法 用标签来显示时间 Label1.Caption = Time 在标签中同时显示两行以上的字符串 Label1.Caption = Time & Chr(13) & Chr(10) & Date
(五)文本框 文本框用于输出或显示文本信息,以及在其中输入和编辑文本 常用属性。 1、常用属性 MultiLine:属性为True时,可在文本框中输入多行文本。 ScroolBars:这个属性的属性值表示文本框中有无滚动条。各个数值的含义是:0 没有滚动条;1 只有水平滚动条;2 只有垂直滚动条;3 既有水平滚动条又有垂直滚动条。只有多行的文本框,即文本框MultiLine属性为True时才能设置ScroolBars属性。 Text:文本框中已输入的内容 。 SelText:文本框中当前被选中的字符串。 SelLength:文本框中当前被选中字符串的长度。 SelStart:文本框中当前被选中字符串的起始位置。0表示从第一个字符开始,1表示从第二个字符开始,以此类推。 Locked:当这个属性被设为True时,表示用户只能浏览文本框中的内容而不能编辑。 PasswordChar:将窗体上的字符显示用一个替代字符来代替,如“*”
2、常用方法 SetFocus方法,用于将光标从其它位置移动到文本框中。 3、常用事件: (1) Change事件:当改变文本框的内容时发生该事件。 (2) KeyPress事件:当用户按下并且释放键盘上的一个ANSI键时发生KeyPress事件,该事件将返回一个KeyAscii参数到该事件过程中,如当用户输入字符“z”时,KeyAscii得知就为122。 (3) LostFocus和GotFocus事件:表示文本框控件失去和得到焦点时所发生的事件。
四、事件驱动 (一)事件驱动的程序设计 在事件驱动的应用程序中,程序的执行发生了根本的变化,代码不是按照预定的路径执行,而是在响应不同的事件时执行不同的代码片断。每个对象都有一个相应的事件集,每个事件发生要执行一段程序代码。事件可由用户操作出发,也可由操作系统或其它应用程序的消息出发,甚至可由应用程序本身的消息出发。这些事件的顺序决定了代码执行的顺序。 (二) VB的对象如何识别事件 事件是发生在对象上的事情。在响应事件时,由事件来驱动应用程序执行VB代码。
(三)事件驱动的工作过程 1、启动应用程序,装载和显示窗体。 2、窗体或窗体上的控件等待事件的发生 3、当某个事件发生后,执行其对应的事件过程代码。 4、重复执行第2和第3步,直到遇到End语句或单击“结束”按钮停止程序的执行。
五、计时器控件的一般用法 如果想通过事件来控制某些操作或用于计时,就可以用计时器(Timer)控件来实现。计时器控件在设计时可见,而在运行时则隐藏起来,但在后台每隔一定的时间间隔就执行一次Timer事件。 • (一)常用属性 • 1、Interval属性 • 返回或设置对Timer控件的计时事件各调用间的毫秒数 • 语法:object.Interval[=milliseconds] milliseconds:0使Timer控件无效;1~65535可设置的时间间隔范围 • 2、 Enable属性:用来决定计时器控件是否能够响应计时事件。相当于启动或关闭计时器的开关。
(二)Timer事件 • Timer事件 • 是计时器的唯一事件。在一个Timer预定时间间隔过去之后发生,用以告诉VB在每个Interval到时该做什么。 • 语法: • Private Sub object_Timer([index As Integer]) • 程序代码 • End Sub (三)时钟程序的拓展应用