《VB基本控件及简单程序设计.ppt》由会员分享,可在线阅读,更多相关《VB基本控件及简单程序设计.ppt(43页珍藏版)》请在三一办公上搜索。
1、第二章 VB基本控件及简单程序设计,1.了解程序设计方法的发展;2.理解面向对象程序设计概念;3.理解对象、属性、事件、和方法等基本概念;4.掌握建立简单的应用程序的方法和步骤;5.熟悉一些基本控件和属性的设置;6.掌握工程的管理及环境的设置;,本章要求:,2.1 程序设计方法概述,1.初期的程序设计 高运行效率、少占用内存为目标2.结构化程序设计程序的可读性、可维护性为目标 程序=算法+数据结构+计算机语言+面向过程的程序设计方法3.面向对象的程序设计 降低程序的复杂性、提高软件的开法效率和改善工作界面为目标 程序=对象+消息+面向对象的程序设计,面向对象的程序设计具有如下的优点:1符合人们
2、习惯的思维方法,便于分解大型的复杂多变的问题。由于对象对应于现实世界中的实体,因而可以很自然地按照现实世界中处理实体的方法来处理对象,软件开发者可以很方便地与问题提出者进行沟通和交流。2易于软件的维护和功能的增减。对象的封装性及对象之间的松散组合,都给软件的修改和维护带来了方便。3可重用性好。重复使用一个类(类是对象的定义,对象是类的实例化),可以比较方便地构造出软件系统,加上继承的方式,极大地提高了软件开发的效率。4与可视化技术相结合,改善了工作界面。随着基于图形界面操作系统的流行,面向对象的程序设计方法也将深入人心。它与可视化技术相结合,使人机界面进入GUI时代。,2.2 VB中的一些基本
3、概念,一、对象与类1.对象 是基本的运行时的实体,如窗体、各种控件等,它既包括作用于对象的操作(方法)和对象的响应(事件)。将数据和处理这些数据的过程封装在一起.2.类 类是一个抽象的整体概念,对象是类的实例化。类与对象是面向对象程序设计语言的基础。以“汽车”为例,说明类与对象的关系。汽车是一个笼统的名称,是整体概念,我们把汽车看成一个“类”,一辆辆具体的汽车(比如你的汽车)就是这个类的实例,也就是这个类的对象。,工具箱的各种控件并不是对象,而是代表了各个不同的类。通过类的实例化,可以得到真正的对象。当在窗体上画一个控件时,就将类转换为对象,即创建了一个控件对象,也简称为控件。,VB中的类与对
4、象,3、对 象的建立和命名(1)对象的建立 方法一:单击工具箱控件对象 在窗体上按住左键拖拉到所需要的大小后释放。方法二:双击工具箱控件对象,则立即在窗体出现一个默认大小的对象框。(2)编辑对象 先选中对象(单击对象),放大、缩小 删除对象 复制对象,(3)、对象的命名 每一个对象都有有自己的名字。每个窗体、控件对象在建立时VB系统给出了一个默认名。用户可通过属性窗口设置(名称)来给对象命名。命名的原则:1)必须由字母或汉字开头、随后可以是字母、汉字、数字、下划线(最好不用)串组成。2)长度=255个字符。本教材采用智能化命规则:用前3个小定字母组成前缀(指明对象的类型)和表示该对象作用的缩写
5、字母组成。附表2_1,二、属 性(Property)对象中的数据,所有对象都有自的属性。它们是用来描述和反映对象特征的参数。例如:控件名称(Name)、标题(Caption)、颜色(Color)、字体(FontName)等属性决定了对象展现给用户的界面具有什么样的外观及功能。对象属性设置的方法:方法一:在设计模式下,通过属性窗口直接设置对象的属性。方法二:在程序的代码中通过赋值实现,其格式为:对象.属性=属性值 例如:cmdDisp.Caption=“显示”,三、事件(Event)及事件过程(Event Procedure)事件 可被对象识别的动作。事件过程 是指附在该 对象上的程序代码,是事
6、件触发后处理的程序。事件过程的形式如下:Sub 对象名_事件过程名(参数列表).(事件过程代码)End Sub 例如:Sub cmdHide_Click()CmdHide.Visible=False End Sub,四、方 法(Method)在对象上可操作的过程,是VB系统提供的一种特殊的过程和函数方法。方法是面向对象的,所以对象的方法调用一般要指明对象。对象方法 调用形式:对象.方法 参数列表 如省略对象,表示在当对象,一般指窗体。例如:Form1.print VB程序设计,五、VB应用程序的工作方式,VB应用程序采用的是以事件驱动应用程序的工作方式。,下面是事件驱动应用程序中的典型工作方式
7、:1、启动应用程序,装载和显示窗体。2、窗体(或窗体上的控件)接收事件。事件可由用户引发(例如通过键盘或鼠标操作),可由系统引发(例如定时器事件),也可由代码间接引发(例如当代码装载窗体时的Load事件)。3、如果在相应的事件过程中已编写了相应的程序代码,就执行该代码。4、应用程序等待下一次事件。,2.3 窗体的常用属性、方法和事件,窗体属性决定了窗体的外观与操作。窗体外观 如下图,一.属性(一)基本属性1.Name名称属性(任何对象都具有的)创建的对象名称,有默认的名.在程序中,控件名是作为对象的标识而引用,不会显示在窗体上。2.Height、width、top和left属性 单位为twip
8、:1 twip=1/20点=1/1440英寸=1/567cm,注意:这四个属性决定窗体(或控件)的大小,在容器中的位置。如右图。,3Caption 标题属性:决定出现在窗体的标题栏上的文本内容,也是当窗体被最小化后出现在窗体图标下的文本。如图2-2中窗体的Caption属性值是“VB窗体”,4 字体Font属性组,FontName属性是字符型,决定对象上正文的字体(缺省为宋体)。FontSize属性是整型,决定对象上正文的字体大小。FontBold属性是逻辑型,决定对象上正文是否是粗体。FontItalic属性是逻辑型,决定对象上正文是否是斜体。FontStrikeThru属性是逻辑型,决定对
9、象上正文是否加一删除线。FontUnderLine属性是逻辑型,决定对象上正文是否带下划线。,5.Enabled属性(逻辑值)决定控件是否可操作。True:允许用户进行操作,并对操作出响应(缺省值)。False:呈暗淡色,禁止用户进行操作。6.Visible属性(逻辑值)决定控件是否可见 True:运行时控件可见(缺省值)。False:运行时控件隐藏,用户看不到,但控件本身是存在的。,7BackColor属性和ForeColor属性 BackColor属性用于返回或设置对象的背景颜色,ForeColor属性用于返回或设置在对象里显示图片和文本的前景颜色。它们是十六进制长整型数据在程序代码中可用
10、Windows 运行环境的红-绿-蓝(RGB)颜色方案,使用调色板或在代码中使用 RGB 或 QBColor 函数指定标准RGB颜色。,例如,将窗体Form1的背景色设置为红色,则可使用下面三种情况:Form1.BackColor=RGB(255,0,0)Form1.BackColor=&HFF&Form1.BackColor=vbRed,(二)窗体的其它常用属性,1MaxButton最大化按钮和MinButton最小化按钮:当值为 Ture,有最大或最小化按钮,False则无。,2Icon 控制图标属性:返回或设置窗体左上角显示或最小化时显示的图标。注意:此属性必须在ControlBox属性
11、设置为Ture才有效,3ControlBox控制菜单框属性:设置Ture为有,如设置为False则无控件菜单,同时窗体也无最大化按钮和最小化按钮,即使MaxButton属性和MinButton属性设置为Ture。,4Picture图片属性:设置窗体中要显示的图片。加载图片操作同Icon 控制图标属性。,5.BorderStyle:边框风格,通过改变 BorderStyle 属性,可以控制窗体如何调整大小。0-None:无边框;1-Fixed Single:单线边框,不可以改变窗口大小;2-Sizable:双线边框,可以改变窗口大小;3-Fixed Double:双线框架,不可以改变窗口大小。4
12、-Fixed Tool Window:窗体外观与工具条相似。有关闭按钮,不可以改变窗口大小。5-Sizable Tool Window:窗体外观与工具条相似。有关闭按钮,可以改变窗口大小。,6.WindowsState属性 0-Normal:正常窗口状态,有窗口边界;1:最小化状态,以图标方式运行;2:最大化状态,无边框,充满整个屏幕。7.AutoRedraw属性 该属性决定窗体被隐藏或被另一窗口覆盖之后重新显示,是否重新还原该窗体被隐藏或覆盖以前的画面。即是否重画如Circle、Line、Pset和Print等方法的输出。当为True时,重新还原该窗体以前的画面。当为False时,则不重画A
13、utoRedraw属性。,二、事件 最常用的事件1 Click/DblClick:单击/双击窗体触发。2 Load:窗体被装入时触发的事件。该事件通常用来在启动应用 程序时对属性和变量进行初始化。3、Unload事件 卸载窗体时触发该事件。4、Resize事件 无论是因为用户交互,还是通过代码调整窗体的大小,都会触发一个Resize事件。,三、常用方法,窗体常用的方法有:打印输出Print、移动Move、清除Cls、显示Show、隐藏Hide等方法。方法是面向对象故使用的形式:对象.方法 1.Print方法 形式:对象.PrintSpc(n)|Tab(n)表达式列表;|,作用:在对象上输出信息
14、对象:窗体、图形框或打印机(Pinter),省略对象在窗体上输出。Spc(n)函数:插入n个空格,允许重复使用。Tab(n)函数:左端开始右移动n列,允许重复使用。;(分号):光标定位上一个显示的字符后。,(逗号):光标定位在下一个打印区的开始位置处。每个打印区占14列。无;,换行。开始打印的位置是由对象的CurrentX和CurrentX属性决定,缺省为打印对象的左上角0,0。,例2.3在窗体Form1的单击事件中写入如下代码:Private Sub Form_Click()a=10:b=3.14:c=100Print a=;a,b=;bPrint a=;a,b=;bPrint a=;a,b
15、=;bPrint 空一行Print;a=;a,b=;bPrint a=;a,Tab(18);b=;bPrint a=;a,Spc(18);b=;b PrintPrint a=;a,b=;bPrint Tab(18);“a=”;a,“b=”;b 从第18列开始打印输出Print Spc(18);a=;a,b=;bEnd Sub,2.Cls方法 形式:对象.Cls 作用:清除运行时在窗体或图形框中显示的文本或图形。注意:不清除在设计时的文本和图形。清屏后坐标当前回到原点。3.Move方法 形式:对象.Move 左边距离,上边距离,宽度,高度 作用:移动窗体或控件,并可改变其大小。对象:可以是窗体及
16、除时钟、菜单外的所有控件,省略代表窗体。左边距离,上边距离,宽度,高度:数值表达式,以twip为单位。如果是窗体对象,则“左边距”和“上边距”是以屏幕左边界和上边界为准。其它则是以窗体的左边和上边界为准。,例2.4使用Move方法移动一个窗体。双击窗体,窗体移动并定位在屏幕的左上角,同时窗体的长宽也缩小一倍。为了实现这一功能,可以在窗体Forml的“代码”窗口中输入下列代码:Private Sub Form_DblClick()Form1.Move 0,0,Form1.Width/2,Form1.Height/2End Sub,4Show(显示)方法 Show方法用于在屏幕上显示一个窗体,调用
17、 Show 方法与设置窗体 Visible 属性为 True 具有相同的效果。其调用格式如下:窗体名.Show vbModal|vbModeless,说明(1)它有两种可能值:vbModal(缺省)或vbModeless,Show方法的可选参数表示从当前窗口或对话框切换到其他窗口或对话框之前用户必须采取的动作。当参数为vbModal时,要求用户必须对当前的窗口或对话框做出响应,才能切换到其他窗口。(2)如果要显示的窗体事先未装入,该方法会自动装入该窗体再显示。,5Hide(隐藏)方法Hide方法用于使指定的窗体不显示,但不从内存中删除窗体。其调用格式为:窗体名.Hide,例2.5 实现将指定的
18、窗体在屏幕上进行显示或隐藏的切换。为了实现这一功能,可以在窗体Forml的“代码”窗口中输入下列代码:Private Sub Form_Click()Form1.Hide 隐藏窗体 MsgBox 单击确定按钮,使窗体重现屏幕 显示信息 Forml.Show 重现窗体End Sub,说明:当一个窗体从屏幕上隐去时,其Visible属性被设置成False,并且该窗体上的控件也变得不可访问,但对运行程序间的数据引用无影响。若要隐去的窗体没有装入,则Hide方法会装入该窗体但不显示。,一.命令按钮CommandButton 接受用户输入的命令.输入命令可以有三种方式:(1)鼠标单击;(2)按Tab键焦
19、点跳转到该按钮,再按回车键;(3)快捷键(Alt+有下划线的字母)(一)属性 1基本属性 Name、Height、Width、Top、Left、Enabled、Visible、Font等与窗体的使用相同。2常用属性(1)Caption:标题属性命令按钮显示的内容,可在某字母前加“&“设置快捷键。例如:&Ok,显示 Ok,2.4 命令按钮、标签、文本框,(2)Default:确认属性(逻辑值),设置为True时,按Enter键相当于用鼠标器单击了该按钮。注意:在一个窗体只能的一个按钮的Default设置为Ture(3)Cancel:取消功能属性(逻辑值),当设置为Ture时,程序运行时按Esc键
20、与单击此命令按钮的效果相同。注意:在一个窗体只能的一个按钮的Cancel属性设置为Ture(4)Value:检查该按钮是否按下.该属性在设计时无效.(5)Picture:按钮可显示图片文件(.bmp和.Ico),只有当Style属性值设 为1时有效(6)Style:确定显示的形式.0 只能显示文字,1 文字、图形均可。(7)ToolTipText:设置工具提示,和Picture结合使用。(二).事件 单击事件Click,二、标签 Label 用于显示文本(输出)信息,不能作为输入信息的界面。1基本属性 Name、Height、Width、Top、Left、Enabled、Visible、Fon
21、t、ForeColor、BackColor等与窗体的使用相同。2常用属性(1)Caption属性Caption属性用来改变Label控件中显示的文本。Caption属性允许文本的长度最多为1024字节。缺省情况下,当文本超过控件宽度时,文本会自动换行,而当文本超过控件高度时,超出部分将被裁剪掉。,(2)Alignment属性设置Caption属性中文本的对齐方式,共有三种可选值:0 左对齐(Left Justify);1 右对齐(Right Justify);2 居中对齐(Center Justify)。(3)BackStyle属性 该属性用于确定标签的背景是否透明。有两种情况可选:值为0时,
22、表示背景透明,标签后的背景和图形可见;值为1时,表示不透明,标签后的背景和图形不可见。(4)AutoSize属性AutoSize属性确定标签是否会随标题内容的多少自动变化。如果值为True,则随Caption内容的大小自动调整控件本身的大小,且不换行;如果值为False,表示标签的尺寸不能自动调整,超出尺寸范围的内容不予显示。,例2.6 在窗体上,放置5个标签,其名称使用默认值Label1Label5,它们的高度与宽度相同,在属性窗口,按下表设置它们的属性,(5)WordWrap属性,设置后各标签的显示如下图,3、事件,标签可响应单击(Click)和双击(DblClick)事件,但一般情况不对
23、它进行编程,三、文本框 TextBox 是一个文本编辑区域,可在该区域输入,编辑和显示正文内容。(一)属性1基本属性 Name、Height、Width、Top、Left、Enabled、Visible、Font,ForeColor、BackColor等与标签控件相同。2常用属性(1).Text文本属性 在文本框中显示的正文内容存放在Text属性中。当程序运行时,用户通过键盘输入正文内容,保存在Text属性中。文本框没有Caption属性,(2)Maxlength:设置正文的最多字符个数,0任意长度值。(3)MultiLine:是否为多行,默认一行.False(4)ScrollBars:当Mu
24、ltiLine为True时,该属性才有效,滚动条的形式。0-None:无滚动条、1-Horizontal:水平滚动条、2-Vertical垂直滚动条、3-Both水平和垂直滚动条。(5)Locked:是否可被编辑属性,False,表示为可编辑。(6)PassWordChar属性 设置PasswordChar属性为了掩盖文本框中输入的字符。该属性的设置只有在MultiLine设为 False才有效,(7)SelStart、SelLength和SelText属性 这三个属性是文本框中对文本的编辑属性。SelStart:确定在文本框选中文本的起始位置。第一字符 的位置为0。若没有选择文本,则用于返回
25、或设置文本的插入点位置,如果SelStart的值大于文本的长度,则SelStart取当前文本的长度:SelLength:设置或返回文本框中选定的文本字符串长度(字符个数)。SelText:设置或返回当前选定文本中的文本字符串。,(二)常用事件 Change:当改变文本框的Text属性时会引发该事件。当用输入一个字符,就会触发一次Change事件。KeyPress(KeyAscii As Integer):当用户按下并释放键盘上一个ANSI键时,就会触发一次该事件,并返回一个KeyAscii参数(字符的Ascii值)到该事件过程中。例如:输入“A”,则KeyAscii的值是65。可用函数Chr$
26、(KeyAscii)可得到字符“A”。LostFocus:当控件失去焦点时发生。GotFocus:当控件获得焦点时发生。,(三)常用方法 文本框最有用的方法是:SetFocus,使用形式:对象.SetFocus 功能:是把光标移到指定的文本框对象中。,例题:,2.5 简单应用程序的建立,一.工程的组成 工程文件(.Vbp)包含了一个应用程序的所有文件(详见Pg.42表1.2.10)窗体文件(.frm):控件及属性、事件过程和自定义过程 窗体的二进制数据文件(.frx),自动产生同名.frx文件。标准模块文件(.bas)类模块的文件(.cls)资源文件(.res)ActiveX控件的文件(.ocx),一个VB应用程序中各主要文件的结构关系如下图:,二、创建应用程序的步骤:分析问题,确定程序要完成什么任务,按下面的步骤创建应用程序。(1)新建工程。创建一个应用程序首先要打开一个新的工程。(2)创建应用程序界面。(3)设置属性值。(4)对象事件过程的编程。(5)保存文件。(6)程序运行与调试。再次保存修改后的程序,三、一个简单的VB程序的创建(实例),例2.7 设计一简单应用程序,在窗体上放置1个文本框、2个命令按钮,用户界面如图2-9所示。,