已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第二章VB基本控件及简单程序设计 1 理解面向对象程序设计的方法 2 掌握窗体对象的常用属性 事件和方法及其使用 3 掌握一个VisualBasic应用程序的组成 4 掌握开发一个VisualBasic应用程序的一般步骤 本章主要任务 2 2 1VB中的基本概念 一 对象与类1 对象是基本的运行时的实体 如窗体 各种控件等 它包括作用于对象的操作 方法 和对象的响应 事件 将数据和处理这些数据的过程封装在一起 2 类类是一个抽象的整体概念 对象是类的实例化 类与对象是面向对象程序设计语言的基础 以 汽车 为例 说明类与对象的关系 汽车是一个笼统的名称 是整体概念 我们把汽车看成一个 类 一辆辆具体的汽车 比如你的汽车 就是这个类的实例 也就是这个类的对象 3 工具箱的各种控件并不是对象 而是代表了各个不同的类 通过类的实例化 可以得到真正的对象 当在窗体上画一个控件时 就将类转换为对象 即创建了一个控件对象 也简称为控件 VB中的类与对象 2 1VB中的基本概念 4 3 对象的建立和命名 1 对象的建立方法一 单击工具箱控件对象在窗体上按住左键拖拉到所需要的大小后释放 方法二 双击工具箱控件对象 则立即在窗体出现一个默认大小的对象框 2 编辑对象先选中对象 单击对象 放大 缩小删除对象复制对象 2 1VB中的基本概念 5 3 对象的命名每一个对象都有有自己的名字 每个窗体 控件对象在建立时VB系统给出了一个默认名 用户可通过属性窗口设置 名称 来给对象命名 命名的原则 1 必须由字母或汉字开头 随后可以是字母 汉字 数字 下划线 最好不用 串组成 2 长度 255个字符 智能化命名规则 参考 用前3个小写字母组成前缀 指明对象的类型 和表示该对象作用的缩写字母组成 例如用cmdDisp命名一个带有 显示 字样的命令按钮 2 1VB中的基本概念 6 二 属性 Property 属性 即对象中的数据 所有对象都有自己的属性 它们是用来描述和反映对象特征的参数 例如 控件名称 Name 标题 Caption 颜色 Color 字体 FontName 等属性决定了对象展现给用户的界面具有什么样的外观及功能 对象属性设置的方法 方法一 在设计模式下 通过属性窗口直接设置对象的属性 方法二 在程序的代码中通过赋值实现 其格式为 对象 属性 属性值例如 cmdDisp Caption 显示 2 1VB中的基本概念 7 三 事件 Event 及事件过程 EventProcedure 事件 可被对象识别的动作 事件过程 是指附在该对象上的程序代码 是事件触发后处理的程序 事件过程的形式如下 Sub对象名 事件过程名 参数列表 事件过程代码 EndSub例如 SubcmdHide Click CmdHide Visible FalseEndSub 2 1VB中的基本概念 8 四 方法 Method 在对象上可操作的过程 是VB系统提供的一种特殊的过程和函数 方法 方法是面向对象的 所以对象的方法调用一般要指明对象 对象方法调用形式 对象 方法 参数列表 如省略对象 表示对当前对象 一般指窗体 例如 Form1 Print VB程序设计 2 1VB中的基本概念 9 在传统的面向过程的应用程序中 执行哪一部分代码和按何种顺序执行代码都由程序本身控制 而在面向对象的程序设计中 编程人员要以 对象 为中心来设计模块 而不是以 过程 为中心来考虑应用程序的结构 此外 在事件驱动应用程序中 代码不是按预定的顺序执行 而是在响应不同的事件时执行不同的代码段 五 VB应用程序的工作方式 VB应用程序采用的是以事件驱动应用程序的工作方式 10 事件是可以由窗体或控件识别的操作 在响应事件时 事件驱动应用程序执行指定的代码 事件可以由用户操作触发 也可以由来自操作系统或其他应用程序的消息触发 甚至由应用程序本身的消息触发 这些事件的顺序决定了代码执行的顺序 因此 在事件驱动应用程序中 每次运行时所执行的代码和所经过的 路径 是不一样的 11 VisualBasic的每个窗体和控件都有一个预定义的事件集 当其中的某个事件发生 并且在相关联的事件过程中存在代码时 VisualBasic将执行这些代码 尽管VisualBasic中的对象能自动识别预定义的事件集 但必须通过代码判定它们是否响应具体事件以及如何响应具体事件 代码 即事件过程 与每个事件对应 为了让窗体或控件响应某个事件 必须把代码放入这个事件的事件过程之中 12 对象所能识别的事件类型有很多种 但多数类型为大多数对象所共有 例如 大多数对象都能识别Click事件 即单击事件 如果单击窗体 则执行窗体的单击事件过程中的代码 如果单击命令按钮 则执行命令按钮的单击事件过程中的代码 此外 某些事件可以在运行期间触发 例如 当在运行期间改变文本框中的文本时 将引发文本框的Change事件 如果Change事件过程中含有代码 则执行这些代码 13 五 VB应用程序的工作方式 VB应用程序采用的是以事件驱动应用程序的工作方式 下面是事件驱动应用程序中的典型工作方式 1 启动应用程序 装载和显示窗体 2 窗体 或窗体上的控件 接收事件 事件可由用户引发 例如通过键盘或鼠标操作 可由系统引发 例如定时器事件 也可由代码间接引发 例如当代码装载窗体时的Load事件 3 如果在相应的事件过程中已编写了相应的程序代码 就执行该代码 4 应用程序等待下一次事件 2 1VB中的基本概念 14 2 2窗体对象 窗体属性决定了窗体的外观与操作 窗体外观如下图 最小化按钮 15 一 属性 一 基本属性1 Name名称属性 任何对象都具有的 创建的对象名称 有默认的名 在程序中 控件名是作为对象的标识而引用 不会显示在窗体上 2 Height width top和left属性单位为twip 1twip 1 20点 1 1440英寸 1 567cm 2 2窗体对象 16 3 Caption标题属性 决定出现在窗体的标题栏上的文本内容 4 字体Font属性组 FontName属性是字符型 决定对象上正文的字体 缺省为宋体 FontSize属性是整型 决定对象上正文的字体大小 FontBold属性是逻辑型 决定对象上正文是否是粗体 FontItalic属性是逻辑型 决定对象上正文是否是斜体 FontStrikeThru属性是逻辑型 决定对象上正文是否加一删除线 FontUnderLine属性是逻辑型 决定对象上正文是否带下划线 2 2窗体对象 17 窗体名 Caption 字符串 窗体的属性Name 设置窗体的名称 所有对象都具有该属性 在同一范围内不允许该属性值相同 该属性只能通过属性窗口设置 在代码窗口中不能改变 Caption 设置窗体标题栏上显示的内容 在代码窗口修改该属性值的语法格式为 注意它与Name属性的区别 NameCaption Command1 Caption 确定 对象名 属性名 属性值Sub对象名 事件名 对象名 方法 参数 18 5 Enabled属性 逻辑值 决定控件是否可操作 True 允许用户进行操作 并对操作出响应 缺省值 False 窗体上控件呈暗淡色 禁止用户进行操作 6 Visible属性 逻辑值 决定控件是否可见True 运行时控件可见 缺省值 False 运行时控件隐藏 用户看不到 但控件本身是存在的 2 2窗体对象 19 窗体名 AutoRedraw True False 窗体的属性AutoRedraw 设置窗体被遮盖后是否要自动重绘窗体上的内容 语法格式为 BackColor ForeColor 返回或设置窗体的背景颜色和前景颜色 属性值是一个16进制的常数 通常在编写代码时 常用Qbcolor或RGB函数为其设置颜色 Form1 BackColor HFF0000 低字节到高字节依次 表示红 绿和蓝的值Form1 BackColor RGB 255 0 0 Form1 ForeColor vbRed RGB颜色函数讲解 蓝 红 绿 256等份 256等份 256等份 Form1 BackColor RGB 255 13 222 20 二 窗体的其它常用属性 1 MaxButton最大化按钮和MinButton最小化按钮 当值为True 有最大或最小化按钮 False则无 2 Icon控制图标属性 返回或设置窗体左上角显示或最小化时显示的图标 注意 此属性必须在ControlBox属性设置为True才有效 3 ControlBox控制菜单框属性 设置True为有 如设置为False则无控件菜单 同时窗体也无最大化按钮和最小化按钮 即使MaxButton属性和MinButton属性设置为True 2 2窗体对象 21 4 Picture图片属性 设置窗体中要显示的图片 加载图片操作同Icon控制图标属性 5 BorderStyle 边框风格 通过改变BorderStyle属性 可以控制窗体如何调整大小 0 None 无边框 1 FixedSingle 单线边框 不可以改变窗口大小 2 Sizable 双线边框 可以改变窗口大小 3 FixedDouble 双线框架 不可以改变窗口大小 4 FixedToolWindow 窗体外观与工具条相似 有关闭按钮 不可以改变窗口大小 5 SizableToolWindow 窗体外观与工具条相似 有关闭按钮 可以改变窗口大小 2 2窗体对象 22 6 WindowsState属性0 Normal 正常窗口状态 有窗口边界 1 最小化状态 以图标方式运行 2 最大化状态 无边框 充满整个屏幕 7 AutoRedraw属性该属性决定窗体被隐藏 改变大小或被另一窗口覆盖之后重新显示 是否重新还原该窗体被隐藏或覆盖以前的画面 即是否重画如Circle Line Pset和Print等方法的输出 当为True时 重新还原该窗体以前的画面 当为False时 则不重画该窗体以前的画面 2 2窗体对象 23 三 事件最常用的事件1Click DblClick 单击 双击窗体触发 2Load 窗体被装入时触发的事件 该事件通常用来在启动应用程序时对属性和变量进行初始化 3 Unload事件卸载窗体时触发该事件 4 Resize事件无论是因为用户交互 还是通过代码调整窗体的大小 都会触发一个Resize事件 2 2窗体对象 24 窗体的事件不同的对象对应不同事件的发生 VB中窗体有很多事件 在一个窗体的代码窗口中列出了所有窗体事件 25 窗体的事件Activate 当窗体变为激活的当前窗口时 引发本事件 Click 当用户单击窗体时触发本事件 DblClick 当用户双击窗体时触发本事件 Deactivate 当窗体失去激活状态 即另一个窗体成为当前窗口时 引发本事件 Load 当窗体被加载到内存时触发本事件 Load事件往往用于在启动程序时对属性和变量进行初始化 Unload 当关闭窗体时 触发卸载事件 将窗体从内存中卸载 注意 Load事件发生时窗体是不活动的 而Activate事件发生时窗体是活动的 Print方法不能在不活动窗体上使用 因此Print不能用于Load事件中 双击 实际上触发两个事件 第一次按鼠标按钮时产生Click单击事件 第二次按鼠标按钮时产生DblClick事件 PrivateSubForm Click Form1 BackColor vbRedEndSub PrivateSubForm Click Form1 BackColor vbRedEndSub 当触发了Form对象的Click事件时 该事件过程Form Click就会被执行 当用户双击窗体时 窗体不断变小 则应该添加什么事件过程 26 Print在Load和Activate事件中的区别 PrivateSubForm Load Print EndSubPrivateSubForm Activate Print EndSub 27 例 程序运行时 用户在窗体上输入字符时 窗体上显示输入结果 分析 添加什么事件过程在窗体上显示输入结果用什么代码当用户输入a时触发了Form KeyPress事件过程 该过程的参数KeyAscii值是多少 通过什么方法在窗体上显示出a 代码 Form KeyPress 97 PrivateSubForm KeyPress KeyAsciiAsInteger PrintChr KeyAscii EndSub Form1 print chr x 函数 将ASCII码转换为对应的字符 28 窗体的方法在代码窗口中 输入 form1 后 会显示该窗体对象的所有属性和方法 29 常用方法 窗体常用的方法有 打印输出Print移动Move清除Cls显示Show隐藏Hide等方法 方法的使用的形式 对象 方法 参数 2 2窗体对象 30 Show 显示 方法Show方法用于在屏幕上显示一个窗体 调用Show方法与设置窗体Visible属性为True具有相同的效果 其调用格式如下 窗体名 Show vbModal vbModeless 说明 1 它有两种可能值 vbModal或vbModeless 缺省 当参数为vbModal时 要求用户必须对当前的窗口或对话框做出响应 才能切换到其他窗口 2 如果要显示的窗体事先未装入 该方法会自动装入该窗体再显示 补充 窗体对象 31 Hide 隐藏 方法Hide方法用于使指定的窗体不显示 但不从内存中删除窗体 其调用格式为 窗体名 Hide 说明 当一个窗体从屏幕上隐去时 其Visible属性被设置成False 并且该窗体上的控件也变得不可访问 但对运行程序间的数据引用无影响 若要隐去的窗体没有装入 则Hide方法会装入该窗体但不显示 补充 窗体对象 32 例实现将指定的窗体在屏幕上进行显示或隐藏的切换 为了实现这一功能 可以在窗体Forml的 代码 窗口中输入下列代码 PrivateSubForm Click Form1 Hide 隐藏窗体MsgBox 单击确定按钮 使窗体重现屏幕 显示信息Form1 Show 重现窗体EndSub 补充 窗体对象 33 窗体的方法Print 用于将文本输出到窗体的一行上 调用格式 对象名 Print 输出项列表 对象除了窗体外 还可以是图片框 PictureBox Debug或打印机 Printer 若缺省对象名 表示将文本输出到当前窗体上 输出项列表 是由0个 1个或多个待输出的数值表达式或字符串表达式构成 当输出项是由多个项构成 则中间必须用逗号或分号分隔 若Print后什么都不跟 则表示输出一个空行 如下代码 PrivateSubForm Click Print1 2PrintPrint We study EndSub 34 窗体的方法Print 用于将文本输出到窗体的一行上 调用格式 对象名 Print 输出项列表 对象除了窗体外 还可以是图片框 PictureBox Debug或打印机 Printer 若缺省对象名 表示将文本输出到当前窗体上 输出项列表 是由0个 1个或多个待输出的数值表达式或字符串表达式构成 当输出项是由多个项构成 则中间必须用逗号或分号分隔 若Print后什么都不跟 则表示输出一个空行 如下代码 PrivateSubForm Click Print1 2PrintPrint We study EndSub 注意 标准格式即参数以 分割 下一个输出项将与上一个输出项间隔14列 紧缩格式即参数以 分割 下一个输出项将以紧凑格式 紧跟着上一个输出项输出 Print方法输出的位置是由窗体的绘图坐标CurrentX和CurrentY属性决定的 默认为对象的左上角 0 0 该方法可以结合定位输出函数一起使用 Spc n 在下一个输出项前插入n个空格 Tab n 输出定位在绝对n列号上 代码 11 9 7 5 13 11 15 9 13 17 PrivateSubForm Click EndSub PrintTab 11 A PrintTab 9 B Spc 3 B PrintTab 7 C Spc 3 C Spc 3 C PrintTab 5 D Spc 3 D Spc 3 D Spc 3 D 35 窗体的方法Cls方法 用于清除运行时窗体上或图形上的用Print方法生成的文本和图形 语法格式 对象名 Cls对象名可以是窗体或图片框 当对象名缺省时 表示清除当前窗体上的内容 例如 Form1 ClsClsPicture1 Cls 36 窗体的方法Move 移动 方法 用于移动对象 并且可以在移动时变化对象的大小 语法格式 对象名 MoveLeft Top Width Height 其中 对象名可以是窗体和除时钟 菜单以外的所有控件 窗体名缺省 即未选对象名 时 默认为当前窗体 Move方法中的Left Top Width Height4个参数 单位为twip 像素 37 例 编写一个程序 实现功能 每单击窗体一次 窗体向右移动 思路 窗体向右移动是一个动作 应该执行什么方法 该动作是被什么对象的什么事件触发的 代码 PrivateSubForm Click Form1 MoveLeft 1500EndSub Form1 MoveLeft 1500 Top Width 1500EndSub 每次移动并变大如何实现 38 编程实现 单击和双击窗体时分别改变标签和窗体标题栏的文字 单击单选按钮改变标签文字 界面设计 属性设置 39 编写代码PrivateSubForm Click 窗体的单击事件过程Label1 Caption 成功通过考试 EndSubPrivateSubForm DblClick 窗体的双击事件过程Form1 Caption 欢迎你学习VB EndSubPrivateSubOption1 Click 单选按钮的单击事件过程Label1 Caption 听明白勤思考记下来 EndSubPrivateSubOption2 Click 单选按钮的单击事件过程Label1 Caption 多上机善提问多总结 EndSub 40 一 创建应用程序的步骤 分析问题 确定程序要完成什么任务 按下面的步骤创建应用程序 1 新建工程 创建一个应用程序首先要打开一个新的工程 2 创建应用程序界面 3 设置属性值 4 对象事件过程的编程 5 保存文件 6 程序运行与调试 再次保存修改后的程序 2 2简单应用程序的建立 41 1 建立用户界面用户界面由对象 即窗体和控件组成 所有的控件都放在窗体上 一个窗体最多可容纳255个控件 程序中的所有信息都要通过窗体显示出来 它是应用程序的最终用户界面 在应用程序中要用到哪些控件 就在窗体上建立相应的控件 程序运行后 将在屏幕上显示由窗体和控件组成的用户界面 启动VisualBasic后 屏幕上将显示一个窗体 默认名称为Form1 可以在这个窗体上设置用户界面 如果要建立新的窗体 可以单击 工程 添加窗体 命令来实现 42 2 设置窗体和控件的属性建立界面后 就可以设置窗体和每个控件的属性 在实际的应用程序设计中 建立界面和设置属性可以同时进行 即每画完一个控件 接着就设置该控件的属性 当然 也可以在所有的对象建立完之后再回过头来设置每个对象的属性 究竟用哪种方法 可以根据自己的习惯选定 不必拘泥 可以通过不同的方式设置窗体或控件的属性 具体操作见前面 43 3 编写代码如前所述 VisualBasic采用事件驱动编程机制 因此大部分程序都是针对窗体中各个控件所能支持的方法或事件编写的 这样的程序称为事件过程 例如 命令按钮可以接收鼠标事件 如果单击该按钮 鼠标事件就调用相应的事件过程来做出响应 在多数情况下 特别是小型应用程序 所编写的程序通常都由事件过程组成 即针对控件或窗体的事件编写代码 44 可以用以下4种方法进入事件过程 即打开 代码窗口 1 双击已建立好的控件 2 单击 视图 代码窗口 命令 3 按F7键 4 单击 工程资源管理器 窗口中的 查看代码 按钮 进入事件过程后 可以编写或修改相应的事件过程代码 具体方法将在下面介绍 45 程序要求 在屏幕上开辟一个窗口 窗口的下部有3个命令按钮 其中左边按钮中标有 请单击此按钮 中间按钮中标有 清屏 右边按钮中标有 程序结束 当用鼠标单击左边按钮时 屏幕上部的文本框中显示 欢迎使用VisualBasic6 0中文版 如果单击中间按钮 则清除文本框中显示的内容 如果单击右边的按钮 则结束程序 46 2 3程序的保存 装入 运行及组成 2 3 1保存程序VisualBasic应用程序可以用4种类型的文件保存 一类是单独的窗体文件 扩展名为 frm 一类是公用的标准模块文件 扩展名为 bas 第三类是类模块文件 扩展名为 cls 本书不涉及类模块文件 第四类是工程文件 这种文件由若干个窗体和模块组成 扩展名为 vbp 除上面4类文件外 还有其他一些文件类型 例如工程组文件 vbg 资源文件 rc 等 在保存工程文件之前 应先分别保存窗体文件和标准模块文件 如果存在 47 2 3 2程序的装入用上面的操作可以把应用程序以文件的形式保存到磁盘上 退出VisualBasic或关机后 磁盘上的文件仍然存在 下次开机并启动VisualBasic后 可以把保存在磁盘上的程序装入内存 以便运行或对其进行修改 如前所述 一个应用程序包括4类文件 即窗体文件 标准模块文件 类模块文件和工程文件 这4类文件都有自己的文件名 但只要装入工程文件 就可以自动把与该工程有关的其他3类文件装入内存 48 2 3 3程序的运行设计完程序并存入磁盘后 就可以运行程序 运行程序有两个目的 一是输出结果 二是发现错误 在VisualBasic环境中 程序可以用解释方式执行 也可以生成可执行文件 EXE 49 2 3 4VisualBasic应用程序的构成如前所述 VisualBasic是事件驱动型语言 无论程序的结构还是工作方式 都与传统程序设计语言不一样 一个VisualBasic应用程序也称为一个工程 工程是用来管理构成应用程序的所有文件的 工程文件主要由3类文件模块组成 即窗体模块 frm 标准模块 bas 和类模块 cls 它们的关系如图2 19所示 50 一个VB应用程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年生物基材料清洁生产市场需求变化趋势与商业创新机遇分析研究报告
- 2025-2030年农作物病虫害防治服务企业ESG实践与创新战略分析研究报告
- 健身球趣味游戏与竞赛装备创新创业项目商业计划书
- 2026年软件开发定制合同协议
- 2021年荣耀软件测试硕士岗校招笔试题及答案
- 2026年急诊科常见理论知识培训
- 小学手工制作2025说课稿设计
- 2026年母婴护理师产后康复方向笔试题
- 2026年冰雹安全知识培训
- 2026年运营分析员笔试仿真题及答案
- GJB2489A2023航空机载设备履历本及产品合格证编制要求
- 2025年中邮资产管理公司招聘笔试备考题库(带答案详解)
- 上海海洋大学 物理化学期末考试题(A卷)
- DL-T 2318-2021 配电带电作业机器人作业规程
- 机械设计-联接
- GB/T 34988-2017信息技术单色激光打印机用鼓粉盒通用规范
- DL∕T 5801-2019 抗硫酸盐侵蚀混凝土应用技术规程
- 装饰室内装修施工工艺规范及管理流程图文
- 国家义务教育质量监测学生相关因素调查问卷
- 大物课件23.6光栅光谱
- 武汉大学抬头信签纸
评论
0/150
提交评论