第2章Visual Basic的窗体和控件.pdf
《第2章Visual Basic的窗体和控件.pdf》由会员分享,可在线阅读,更多相关《第2章Visual Basic的窗体和控件.pdf(50页珍藏版)》请在咨信网上搜索。
1、1.1.1 VB6新特点 增强了数据访问功能:ADO(ActiveX Data Object)更强大的Internet应用开发功能 新增和加强了一些控件 添加和增强了些向导1.2 VB6的集成开发环境VB6提供给用户的使用界面是一个集成开发环境,它在一个公共的环境中集成 了设计、编辑、编译和调试等功能。1.2.1 启动集成开发环境1.2.2 集成开发环境的组成在VB6的集成开发环境中,通常显示有标题栏、控制菜单图标、窗口操作按钮、菜单栏、工具栏、窗体设计器、工程管理器、属性窗口、工具箱和窗体布局窗口。此外,还可以根据需要打开代码窗口、调色板、对象浏览器、菜单编辑器和三个 用于程序调试的窗口:立
2、即窗口、本地窗口和监视窗口。1.2.3 集成开发环境的菜单1.2.4 集成开发环境的选项设置第2章Visual Basic的窗体和控件http:/ 使用VB的帮助系统联机帮助上下文相关帮助第二章VB6编程初步第二章VB6编程初步2.1 VB编程的基本概念2.1.1 Windows的工作机制Windows系统的工作机制可用三个词来概括:窗口、事件和消息。Windows系统的工作界面是由各种窗口组成的,所谓窗口是指屏幕上的一个矩形 区域。事实上,对话框、文本框、图标、命令按钮和打开的菜单等,都可看作窗 口。Windows系统给每一个窗口指定一个唯一的标识号,即窗口句柄,并通过窗 口句柄来管理所有窗
3、口。Windows系统中的事件可简单地理解成一种操作活动。它可以是由鼠标和键盘的 操作产生,也可以由系统内部产生,甚至是由某个程序运行或窗口操作产生。Windows系统不断地监视着系统中每一个窗口的活动和每一个事件的发生。所谓消息是指事件的信号。每发生一件事件,就引发一条消息。Windows系统处 理这条消息,并把它向系统中程序的各个窗口广播。各个窗口根据其程序中处理 该消息的代码指令作出响应。2.1.2 Windows应用程序的事件驱动运行模式Windows应用程序的运行是事件(可以是用户通过鼠标和键盘操作产生,也可以 是系统内部通过时钟计时产生,甚至也可以是由程序运行或窗口操作触发产生)驱
4、动模式,是通过执行响应不同事件的程序代码进行运行的。因此,在使用VB 提供的事件驱动的程序设计机制编写Windows应用程序时,是对程序中的对象 需要响应的事件分别编写出程序代码。2.1.3 创建VB应用程序的步骤 建立工程 设计应用程序的界面 设置界面对象的属性 编写程序代码 保存程序 执行并调试程序 生成可执行程序文件2.2 创建一个简单的VB应用程序该应用程序运行时将显示一个窗口,其中有“切换”和“退出”两个按钮:单击 2“切换”按钮,窗口的一个文本框中将交替显示红色的“VB编程不难学”和蓝 色的”只要认真下功夫”文字;单击“退出”按钮,将清除窗口并退出程序。第:章VB6的工程管理第三章
5、VB6的工程管理工程是在VB中进行Windows应用程序设计的一个重要概念。所谓工程就是组 成一个应用程序的文件的集合。使用VB创建一个应用程序时,首先必须为它建 立一个工程,在应用程序设计过程中,通过工程来管理应用程序所包含的所有文 件。3.1 VB的工程在VB中可建立多种类型的工程,这里主要介绍标准EXE类型工程的建造和管 理。3.1.1 工程工程是组成一个应用程序的文件的集合,一个工程通常包括以下几种类型的文 件:工程文件(.vbp)窗体文件(.frm)窗体二进制数据文件(.frx)类模块文件(.cls)标准模块文件(.bas)ActiveX 控件文件(.ocx)资源文件(.res)3.
6、1.2 工程管理器工程的操作管理主要是在工程管理器中进行。工程管理器窗u中显示当前工程所 包含的文件列表。3.2 工程的基本操作工程的基本操作主要包括创建、打开和保存工程,在工程中添加、删除和保存文 件,以及在工程中添加控件和对象等。创建、打开和保存工程 在工程中添加、删除和保存文件 在工程中添加和删除控件部件、对象和资源文件43.3工程的属性设置通用属性设置 工程类型 启动对象 工程名称 帮助文件名 工程帮助上下文标识符 工程描述 ActiveX控件升级生成的可执行文件属性设置版本号编译属性设置第四章VB6编程基础第四章VB6编程基础VB应用程序的结构、代码窗口的使用、VB代码的书写规则、数
7、据类型、变量、常量、数组、过程和结构控制语句等。4.1 VB代码编写基础4.1.1 VB应用程序的结构一个VB应用程序通常是由多种类型的文件组成的,其中最常见的是窗体模块、标准模块和类模块。这些模块都可以包含声明和过程。1、窗体模块在窗体模块中包含窗体及其控件的属性设置值,同时还包含在该窗体的代码窗口 中编写的对常量、变量、类型和外部过程的声明以及Sub Function和Property 过程。.2、标准模块标准模块存放与特定窗口或控件无关的代码,通常是其他模块共同使用的声明和 过程的代码。3、类模块类模块用来定义类,并可用它创建被应用程序中的过程所调用的对象。4.1.2 代码编辑窗口VB的
8、代码编辑器具有一定智能,可同步显示相应的语法成份结构的提示,能自 动填充语句、属性和参数,使代码编写更加方便。4.1.3 代码的书写规则VB程序代码不区分大小写。VB程序代码的主要的书写规则:可用续行符“(一个空格后跟一个下划线)将一个长语句分成多行书写 当一行中有多条语句时,语句间用冒号“:”分隔 注释以注释符(单引号)引导,可放在一行语句的最后,或单 独占据一行,但不能放在续行符的后面;注释也可以用关键字“Rem”引导,但它必须占据一行 VB中缺省数制是十进制数,也可以使用加前缀“&H”和“&0”分6别表示的十六进制和八进制数 标识符是为程序代码中的变量、常量、类型、过程、函数、类和其 他
9、对象的命名。VB中标识符的命名有如下规则:(1)标识符必须是字母开头,后跟字母、数字或下划线(2)标识符长度不能超过255个字符,其中窗体、控件、类和模块的标识符长度不能超过40个字符(3)不能与VB中受到限制的关键字同名4.2 数据类型一个变量的数据类型指出该变量能存储何种类型的数据。VB提供了许多基本数 据类型,用户也可以根据需要自定义数据类型。4.2.1 基本数据类型VB的基本数据类型见P46表421,注意它们的类型名、类型符、占用字节数和 表示范围。例:Dim YesorNo As BooleanDim A As Byte,B As ByteDim I As IntegerDim LA
10、s LongDim A As SingleDim P As CurrencyDim X As Double,Y As DoublePrivate S As StringDim Name As String*20Dim D As DateDimVDim a%,b&,c!,d#匕为整型,b为长整型,c为单精度型,d为双精度型,为货币型,$为字符串型YesorNo=l2A=&H0F:B=&H01A=A+BX=1.88E18:Y=2.01D16X=X*YS二Database”S=Left(S,4)D=#4/6/1999 8:30:50PM#V二“17”V=V-15v=u&v除了可以像其它标准类型一样操
11、作外,Variants类型变量还包含四个特殊值:Empty,Nothing,Null 和 Erroro第四章VB6编程基础4.2.2 用户自定义数据类型格式:PrivatelPublic Type varnameelementname as typeEnd Type例:Private Type Stu RecordName As String*30Birthday As DateOther As VariantEnd As VariantDim Record 1 As StuRecord,Record2 As StuRecordRecord 1.Name=Abc4.2.3 枚举类型在模块的声明
12、段用Enum语句来声明枚举类型,例如:Private Enum ElementSetSunMonTueEnd Enum4.3 变量与常量在应用程序执行期间,变量用来存储可能变化的数值,常量表示固定不变的数值。通常,在使用变量和常量前必须事先声明,并且它们有着自己的有效范围。4.3.1 变量变量有名字,它是用来引用变量所包含的数据的标识符;变量具有数据类型,以 确定变量能够存储的数据种类。变量的命名应遵循标识符命名的规则 一般应用变量声明语句声明变量(显式声明、隐式声明、有效范围)4.3.2 常量VB中有两种常量,一种是系统预定义的常量,还有一种是用户定义的常量。用户定义常量的命名用户定义常量的
13、声明Public Private Const constantname As type=expression8用户定义常量的有效范围4.4 数组数组是指具有相同的数据类型的有序数据的集合,即一个数组中的所有元素具有 相同的数据类型。当声明了 Variant类型的数组时,其元素能够包含不同类型的数据。4.4.1 大小固定的数组1、数组的命名2、数组的声明根据声明的数组的有效范围不同,有三种方法声明大小固定的数组。过程级数组,在该过程中用Dim语句声明,例:Dim Number(lO)AsInteger 或 Dim K(1 To 5)或 Static State(lO)As Boolean 模块级
14、数组,在模块的声明段中用Private或Dim语句声明,例:Private A(10)As Integer 或 Dim Address(1 To 50)As String*30 全局级数组,在模块的声明段中用Public语句声明,例:Public Price(lO)As Double 或 Public Name(l To 50)As String*203、数组的引用Dim n As IntegerDim Number(lO)As IntegerFor n=0 To 10Number(2)=2Next n4、多维数组例:Dim I As Integer,!As IntegerStatic Mat
15、rixA(l To 10,1 To 10)As DoubleFor 1=1 To 10For J=1 To 10MatrixA(I,J)=I*10+JNext JNext I第四章VB6编程基础4.4.2 动态数组1、动态数组的声明 过程级动态数组:Dim dynArray()或 Dim dynList()As Single 模块级动态数组:Private dynA()As Integer 或 Dim dynArrayO 全局级动态数组:Public dynArrayO As Double 或 Public dynList()2、动态数组的定义动态数组声明后并不能立即使用,还必须在使用它的过程
16、中,用ReDim语句对 它的维数和上下界进行定义。例:ReDim dynArray(1 To 10)ReDim dynArray(2,1 To N)注意:ReDim语句通常是一个执行语句,只能在过程中使用 可使用ReDim语句反复改变动态数组的维数和上下界,但一般不能 修改它的数据类型4.5 运算符和表达式4.5.1 运算符运算符是表示实现某种运算功能的符号。按运算的操作对象和操作结果的不同数 据类型,VB中的运算符有自述运算符、连接运算符、比较运算符、逻辑运算符 和位运算符等多种类型。1、算术运算符算术运算符用来进行数学计算。P58表451按优先级别从高到低的顺序列出了 VB中的算术运算符。
17、例:W的值为64,Double类型V=2A3A2V=-(3.14+12)*5.2/3V=13.145.8V=15.14Mod3.8V的值为13除以5的商2,Long类型V的值为15除以4的余数3,Long类型2、连接运算符连接运算符用来连接两个字符串。3、比较运算符比较运算符,亦称关系运算符,被用作两个表达式之间的比较操作,结果是一个 10布尔类型的量。P59表453列出了 VB中的比较运算符。4、逻辑运算符逻辑运算符用作逻辑类型表达式之间的逻辑操作,结果一般是一个布尔类型的 量。P60表4.5.4列出了逻辑运算符及它们运算的结果。5、位运算符位运算符用于实现对操作数的二进制位操作。VB使用逻
18、辑运算符作为位运算符,分别被称为按位取反(NOT)、按位与(AND)、按位或(OR)、按位异或(XOR)、按位相等(EQV)和按位蕴含(IMP)。4.5.2 表达式VB中的表达式是由常量、变量、运算符、函数和圆括号组成的有意义的式子。根据表达式结果的数据类型,可把表达式分为数值表达式、字符表达式和逻辑表 达式等。在书写VB中的表达式时应注意以下儿点:优先顺序从高到低排列为:函数-算术运算-比较运算符-逻辑运算符 使用圆括号可明显地反映运算顺序或改变原定的优先顺序 如有必要,应使用类型转换函数对表达式中操作数的数据类型进行 转换,而尽可能不用VB的数据类型自动转换功能,以免不必要的错误4.6 过
19、程过程是构成程序的逻辑模块,一般能完成一个相对独立的功能。利用过程能使程 序结构模块化,以便于程序的开发、调试和维护;同时,利用过程还能实现多个 程序对它的共享,可降低程序设计的工作量,提高软件开发的工作效率。在VB中有3种过程:Sub过程、Function过程和Property过程。4.6.1 Sub 过程Sub过程,亦称为子过程,是实现某一特定功能的代码段。它或者由程序调用,或者由事件触发,没有返回值。Sub过程的语法是:PrivateIPublicStatic Sub Procedurename(arguments),过程头statements,过程体End Sub,过程尾子过程可出现在
20、窗体模块、标准模块和类模块中。在VB中子过程被分为通用过 程和事件过程两类。通用过程出现在模块的通用段中,它必须在程序中通过语句来调用。例(见程序EX2)。第四章VB6编程基础事件过程主要出现在窗体模块的窗体段和各控件段中,也可以出现在类模块的类 段中。事件过程是由对象的事件所触发调用的。事件过程的过程名。4.6.2 Function 过程Function过程,亦称为函数过程,它是实现某一数据处理功能并返回处理结果的 代码段。Function过程的语法:PrivatelPublic Static Function functionname(arguments)As typestatements
21、End Function例:Private Function Hypotenuse(A As Integer,B As Integer)As Double Hypotenuse=Sqr(AA2+BA2)End Function调用Function过程的方法和数学中使用函数的方法一样,即在表达式中可以通过 使用函数名,并在其后用圆括号给出相应的参数列表来调用一个Function过程。也能像调用Sub过程那样调用函数。例:Y=Hypotenuse(3,4)Call Year(Now)Year Now当用这种方法调用函数时,VB放弃该函数的返回值。4.6.3 VB过程的参数传递1.参数的按值传递和按
22、地址传递在过程定义中,按值传递的形式参数前要带有关键字ByVai。例如,下列过程中 的参数x和y都是被声明为调用时按值传递的参数。Private Sub Changel(By Vai x As Integer,By Vai y As Integer)Dim intTemp As IntegerintTemp=x:x=y:y=intTempEnd Sub要在过程定义中声明按地址传递(缺省方式)的形式参数,应加上关键字ByRef,例如:Private Sub Change2(ByRef m As Integer,By Ref n As Integer)Dim intTemp As IntegerI
23、ntTemp=m:m=n:n=intTempEnd Sub例:见 2#04032.数组参数的传递VB的过程中允许以数组作为参数。在使用时应注意:数组参数只能按地址传递,而不能按值传递。12在形式参数表和实在参数表中,数组参数要忽略维数声明。例:编写求一维数组中所有元素之和的程序。程序如下:Private Sub Form_Click()Dim a(l To 5)As Integer,k As IntegerFor k=1 To 5a(k)=k+1Next kPrint Sum=;ArrSum(a()End SubPrivate Function ArrSum(x()As Integer)As
24、IntegerDim i As Integer,t As Integert=0For i=LBound(x,l)To UBound(x,1)t=t+x(i)Next iArrSum=tEnd Function这里,系统内部函数LBound和UBound分别求数组指定维数的下界和上界,其 中维数可缺省(指一维数组的唯一的一维)。在VB过程的参数表中,可使用关键字Optional建立可选参数,也可使用关键字 ParamArray声明不定数量的参数。4.6.4 过程的递归VB中的过程可以是递归的,也就是说,过程可以调用自己来完成某个特定的任 务。例如,计算阶乘的函数;求两个数的最大公约数等。注意:构
25、成递归要有两个条件,一是要有确定的递归结束条件和结束值,二是具 有能驱向递归结束条件的递归形式表示。4.6.5 系统内部函数VB提供了丰富的系统内部涵数,可在程序代码中直接调用。这些函数按处理功 能可分为数学函数、字符串函数、日期函数、类型转换函数、格式输出函数和交 互函数等。(注意:函数int()与函数fix()的区别)格式输出函数Format可使数值、日期或字符串按指定的格式输出,通常用Print 方法中。交互函数MsgBox和InputBox可分别打开一个消息对话框和输入对话框,格式:MsgBox(prompt,buttons,title)InputBox(prompt,ti tie,d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章Visual Basic的窗体和控件 Visual Basic 窗体 控件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。