VB6.0自学教程.pdf_第1页
VB6.0自学教程.pdf_第2页
VB6.0自学教程.pdf_第3页
VB6.0自学教程.pdf_第4页
VB6.0自学教程.pdf_第5页
已阅读5页,还剩87页未读 继续免费阅读

VB6.0自学教程.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章第一章isual Basic 6 0 述述 V概概 1 1 什么是什么是Visual Basic Visual Basic 是微软 Microsoft 公司推出的 专门用于开发基于 Windows 应用程序的工具语言 在数据库 分布式处理 Internet 及多媒体等方面有着广 泛的应用 它由在计算机技术发展历史上应用最为广泛的 Basic 发展而来 如今 已是一种可视化的 面向对象的程序设计语言 好 下面我们一起去看看 1 1 1 概念术语 概念术语 对象对象 是面向对象程序设计的核心 是对现实世界中对象的模型化 是代码和数 据的组合 具有自己的状态和行为 如某个同学 学好 VB 的诀窍之一是要以 对象 的眼光去看待整个程序设计 属性属性 对象中的数据 用来表示对象的状态 决定对象的外观 方法方法 对象中的代码 决定对象可以进行的动作 类类 用来创建对象的样板 包含所创建对象的状态描述和方法定义 对象是类的 一个实例 如球和排球的关系 事件事件 来自外部的刺激 能被对象所识别的动作 如鼠标单击 事件决定了对象 之间联系的手段 事件过程事件过程 对象对事件作出的反应 事件驱动事件驱动 在程序中流动的是事件 只有在事件发生时 程序才会运行 在 VB 程序设计中 基本的设计机制就是改变对象的属性 使用对象的 方法和为对象事件编写事件过程 窗体窗体 是创建应用程序界面的基础 相当于一块画布 应用程序界面会全部在此 画出 是运行应用程序时 与用户交互操作的实际窗口 控件控件 组成用户界面的基本构件 如标签 命令按钮等 每个控件按钮可以看作 是一个类 单击按钮在窗体上画下 即为由相应的类创建的对象 从以上几个概念 我们可以感觉到 用 VB 编程 即先用面向对象 的方法去分析所要解决的问题 建模 画界面 编写代码 调试 运行 1 1 2 VB的版本的版本 VB 由 1991 年微软公司首次推出 1 0 版本 经历七 八年的时间 目前最新的版本是 VB6 0 我们主要介绍 VB6 0 中文版 VB6 0 包括三个版本 学习版 学习版 Learning 基础版本 包括所有的内部控件以及网格 选项 卡和数据绑定控件 专业版 专业版 Professional 针对计算机专业开发人员 是一整套功能完备 的开发工具 该版本包括学习版的全部功能以及 ActiveX 控件 Internet Information Server Application Designer 集成的 Visual Database Tools 和 Data Environment Active Data Objects 和 Dynamic HTML Page Designer 企业版 企业版 Enteprise VB6 0 的最高版本 企业版使得专业编程人员能 够开发功能强大的组内分布式应用程序 该版本包括 专业版的全部功能以及 Back Office 工具 例如 SQL Server Microsoft Transaction Server Internet Information Server Visual SourceSafe SNA Server 等 我们使用的是 VB6 0 的企业版 中文版 主要介绍 VB 程序设计 的基本概念 开发环境 基本数据结构 使大家具有用 VB 解决基本应 用问题的能力 1 2 VB的安装与启动的安装与启动 1 2 1 VB6 0的运行环境的运行环境 一一 硬件硬件 CPU Pentium R 90MHz 或更高的微处理器 最低为 Intel80486 DX66 显示器 VGA 640 x480 或 Microsoft Windows 支持的更高分辨率的屏幕 内存 Windows 95 平台 需 24MB RAM 对于 Windows NT 平台 需 32MB 硬盘空间 学习版 典型安装 48MB 完全安装 80MB 专业版 典型安装 48MB 完全安装 80MB 企业版 典型安装 128MB 完全安装 147MB 附加部件 如果需要的话 MSDN 用于文档 67MB Internet Explorer 4 x 大约 66MB CD ROM 二 支撑软件二 支撑软件 1 Microsoft Windows NT 3 51 或更新的版本 2 Microsoft Windows 98 或更新的版本 最低 Windows95 3 Microsoft Internet Explorer 4 01 或更新的版本 4 01 版的 Service Pack1 或对 DHTML 应用程序开发者的更高版本 以及对这些应用程序的最终 用户的 4 x 版本 1 2 2 VB的安装的安装 一 安装步骤 一 安装步骤 1 将 VB6 0 光盘放入光驱中 2 在安装画面菜单上单击安装 3 跟随安装向导进行安装 具体见教材 P8 二 添加或删除二 添加或删除 VB 组件 组件 1 将 VB6 0 光盘放入光驱中 2 单击 开始 按钮 设置 控制面板 添加 删除程序 3 选定 VB6 选项 单击 添加 删除 按钮 4 选 添加 删除 重新安装 或 全部删除 1 2 3 VB6 0的启动与退出的启动与退出 一 启动 一 启动 1 开始 按钮 程序 Microsoft Visual Basic6 0 中文版 图 1 1 进入 VB6 0 窗口 2 选 新建 选项卡 新建 建立新的工程 现存 选择和打开现有的工程 最新 最近使用过的工程 3 单击 标准 EXE 项 再单击 打开 按钮 图 1 2 VB6 0 应用程序集成开发环境 实践一下 二 退出 二 退出 在菜单文件 F 项中选 退出 或单击 关闭 按钮 1 3 VB6 0的集成开发环境的集成开发环境 如果把 VB 的编程方法和思想比作精深的武功 那么 VB6 的集成开发 环境就是一把锐利无比的宝剑 只有熟练地将二者结合在一起 才能将 VB 巨大的潜力发挥到极点 笑傲 Windows 江湖 VB6 0 的集成环境由以下九部分组成 主窗口 工具箱 窗体窗口 属性窗口 代码窗口 工程资源管理窗口 主窗口 工具箱 窗体窗口 属性窗口 代码窗口 工程资源管理窗口 布局窗口 对象浏览窗口 立即本地和监视窗口布局窗口 对象浏览窗口 立即本地和监视窗口 1 3 1 主窗口 由标题栏 菜单栏 工具栏和工作桌面组成 主窗口 由标题栏 菜单栏 工具栏和工作桌面组成 图 1 3 主窗口 1 标题栏 包含控制菜单 工作模式 最大化 最小化和关闭按钮 工作模式 设计模式 Design 可进行用户界面的设计和代码的编制 运行模式 Run 正在运行应用程序 中断模式 Break 程序被暂时中断 可进行代码的编辑 2 菜单栏 包含 13 个下拉菜单 具体参见教材 P11 3 工具栏 常用菜单命令的快捷方式 1 3 2 工具箱 工具箱 Tool Box 提供一组工具 用于设计时在窗体中放置控件 通常工具箱中有 20 个标 准控件 还可添加 方法为 工程 部件 图 1 4 工具箱窗口 1 3 3 窗体窗口窗体窗口 窗体设计器是应用程序界面的载体 一个 VB 的应用程序至少有 一个窗体窗口 图 1 5 窗体窗口 窗体的网格点可帮助用户对安装的控件准确定位 间距可通过 工具 选项 通用 窗体网格来设置 VB 一般有两种窗体 SDI 单文档界面 其所有窗口可在屏幕上任何地方自由移动 如 记事本 MDI 多文档界面 所有窗口包含在一个大小可调的父窗口 如 Word 中可打开多个文档 1 3 4 属性窗口 属性窗口 设置对象的属性 1 对象列表框 2 属性排列方式 3 属性列表框 4 属性解释栏 图 1 6 属性窗口 1 3 5 代码窗口 代码窗口 专门用来进行程序设计的窗口 1 对象列表框 2 过程列表框 3 代码框 图 1 7 代码窗口 1 3 6 工程资源管理器窗口 工程资源管理器窗口 工程是指用于创建一个应用程序的文件的集合 vbp 工程中包含三类文件 窗体文件窗体文件 FRM 该文件储存窗体上使用的所有控件对象 对象的属性 对象相应的事件过程及程序代码 一个应用程序至少包含 一个窗体文件 标准模块文件标准模块文件 BAS 所有模块级变量和用户自定义的通用过程都可产生 这样的文件 一个通用过程是指可以被应用程序各处调用 的过程 类模块文件类模块文件 CLS 可以用类模块来建立用户自己的对象 类模块包含用 户对象的属性及方法 但不包含事件代码 窗体中有三个按钮 查看代码 查看代码 按钮 切换到代码窗口 显 示和编辑代码 查看对象 查看对象 按钮 切换到模块的对象窗 口 切换文件夹 切换文件夹 按钮 切换工程中的文件 是否按类型显示 若 按类型显示 则以树 形的结构 文件夹的 方式显示 图 1 8 工程资源管理器窗口 1 3 7 窗体布局窗口 窗体布局窗口 用于指定程序运行时的初始位置 图 1 9 布局窗口 1 3 8 对象浏览器窗口 对象浏览器窗口 可查看在工程中定义的模块或过程 也可以查看 对象库 类型库 类 方法 书信 事件及可在过程中使用的常数 图 1 10 对象浏览器窗口 1 3 9 立即 本地和监视窗口 立即 本地和监视窗口 为调试应用程序提供的 只在运行应用程序时才有效 好了 利剑的功能和使用方法已作介绍 下面让我们来用一下吧 1 4 创建第一个应用程序创建第一个应用程序 1 4 1 建立一个VB应用程序的一般步骤 建立一个VB应用程序的一般步骤 1 设计窗体 建立用户界面的对象 2 设置各对象的属性 3 为必要的对象进行事件过程的编程 4 程序运行与调试 5 保存文件和编译 1 4 2 实例 实例 例 1 1 设计一个计算两数乘法设计一个计算两数乘法C A B的程序 要求用两个文本框分别输入乘的程序 要求用两个文本框分别输入乘 数和被乘数 一个文本框输出计算结果 两个按钮分别是计算按钮和清除按钮 数和被乘数 一个文本框输出计算结果 两个按钮分别是计算按钮和清除按钮 1 分析问题 1 给出被乘数 A 和乘数 B 的值 2 求积 C A B 3 显示积 C 的结果 根据题意 六个对象是必要的 被乘数 A 乘数 B 得到值 单击计算按钮算 出积 在积 C 中显示结果 清除按钮可清除 A B C 中的值 以便再计算其它乘 法 还有容器 窗体 2 设计界面 图 1 11 设计用户界面 3 属性的设置 表 1 1 对象属性设置 默 认 控件名 设置的控件名 名称 标 题 Caption 对齐方式 Alignment 文 本 Text 字体字号 Font 磅值 Form1 Text1 Text2 Text3 Label1 Label2 Label3 Command1 Command2 Form1 txtMultiplicand txtMultiplier txtProduct lblMultiplicand lblMultiplier lblProduct cmdCalculate cmdClear 两数相乘 无定义 无定义 无定义 被乘数 a 乘数 b a b 的值 计算 清除 无定义 0 Left 0 Left 0 Left 2 Center 2 Center 2 Center 无定义 无定义 无定义 空白 空白 空白 无定义 无定义 无定义 无定义 无定义 宋体规则小五 宋体规则小五 宋体规则小五 宋体规则小五 宋体粗体五号 宋体粗体五号 宋体粗体五号 宋体粗体小五 宋体粗体小五 注意 属性表中的 无定义 表示该对象无此属性 空白 表示无内容 4 编写事件过程 单击计算按钮 单击清除按钮 5 运行程序与调试 在 VB 中程序可以有两种运行模式 解释运行模式和编译运行模式 解释运行模式解释运行模式是由系统读取事件激发的那段事件过程代码 将其转换为机器代 码 然后执行该机器代码 由于转换后的机器代码不保存 如需再运行该程序 必 须再解释一次 编译运行模式编译运行模式是由系统读取程序中全部代码 然后再将其全部转换为机器代码 并保存在 EXE 的可执行文件中 供以后多次使用 显然编译程序的运行速度比解 释运行模式速度快的多 VB 中将错误分为三类 编译错误 语法错误 运行错误和逻辑错误 6 保存文件与编译 VB 应用程序的保存分为两类 一类是对工程文件的保存 vbp 另一类是对工程中的各类具体文件的保存 frm bas cls 两者缺一不可 编译 生成 EXE 文件 可脱离 VB 环境直接在 Windows 平台上运行该程序 有感觉了吗 别急 俗话说 一口吃不成胖子 慢慢消化吧 本章重点 本章重点 1 面向对象的基本概念 对象 类 对象的属性 方法 事件 事件过程 事件驱动 窗体 控件 2 VB 的集成环境 3 VB 应用程序的开发步骤 第二章第二章 常用控件常用控件 一一 在第一章中 我们已对用 VB 编写应用程序作一大致的了解 先分析问题 再设计用户界面 最后才去编写必要的事件过程 好 现在让我们一起先来学习 窗体 几个常用的控件及简单的界面设计规则 2 1 窗体 窗体是一种具有自身特定属性 方法和事件的对象 VB 程序的基本构造模 块 是运行应用程序时用户交互操作的实际窗口 也是其他对象的载体 它具有 Windows 窗体的基本特性 包括标题栏 控制菜单 窗体边框和窗口区 图 2 1 应用程序窗体的外观 打开VB 一 窗体的属性一 窗体的属性 1 属性的设置属性的设置 方法一 属性窗口 方法二 在程序中用程序代码设置 窗体名称 属性名 属性值 如 Form1 caption 计算器 2 常用属性常用属性 Caption Height Left Name Top Visible Width AutoRedraw backcolor CurrentX CurrentY Enabled FillColor FontStyle FontBold FontItalic FontName FontSize FontStrikethru FontUnderline ForeColor MaxButton MinButton Picture ScaleHeight ScaleLeft ScaleMode ScaleWidth ScaleTop WindowState 等 1 名称标识 名称标识 Name 属性 用来标识窗体的名称 是字符串类型 它是一个以字母开头由字 母 数字和下划线组成的长度不超过 40 个字符的字符串 最好设置一个有实际意 义的名称 如 frmCalculator 该属性值不允许与其他对象重名 也不允许使用 Visual Basic 的保留关键字和对象名 系统默认为在 Form 后加上 1 2 等 2 外观 外观 Caption 标题 属性 用于设置窗体标题内容 其值是一个字符串 BorderStyle 边界 属性 用于控制窗体边界的类型 表现窗体的显示风格 它有六个可选值 见表 2 1 表 2 1 边界属性值及其类型 属性值 边 界 类 型 0 None 无边界框架 1 Fixed Single 窗口大小固定不变的单线框架 2 Sizable 窗口大小可变的标准双线框架 3 Fixed Dialog 窗口大小固定的对话框窗体 4 Fixed Tool Window 窗口大小固定的工具箱窗体 5 Sizable Tool Window 窗口大小可变的工具箱窗 体 ControlBox 控制菜单 属性 用来设置在应用程序窗口左上角是否出现控制 菜单 它有两个值 True 或 False 缺省值为 True 表示窗体有控制菜单 MaxButton 最大化按钮 和 MinButton 最小化按钮 属性 指定在运行时在 窗体的标题栏右边是否出现最大化和最小化按钮 只有当 ControlBox 属性值为 True 时 这两个属性才起作用 Icon 图标 属性 用于设置窗体运行时应用程序窗口标题栏最左边的图标形 状 缺省的应用程序图标是 在设计时可以通过打开 Icon 属性对话框 选择 或输入一个图标文件名 扩展名为 ICO 的文件 就可以更换应用程序的图标 BackColor 背景颜色 属性 设置窗体背景的颜色 系统默认的背景是灰色 Picture 图片 属性 允许用户以一幅图片作为窗体背景 窗体背景的图像文 件格式可以有多种 Visual Basic 支持以下几种图像文件格式 位图文件 bmp 图形交换格式文件 gif JPEG 压缩文件 jpg 图元文件 wmf 图标文件 ico 3 尺寸位置和输出特性 3 尺寸位置和输出特性 Height 高度 Width 宽度 Left 左边距 和 Top 顶边距 用于设置窗体 的大小以及窗体在屏幕中的实际位置 Height 和 Width 属性分别用于指定窗体的高 度和宽度 即确定窗体的大小 Left 和 Top 属性用来确定窗体左边界或上边界分别 离开屏幕左边缘或上边缘的距离 即确定窗体在屏幕上出现的位置 ScaleMode 设置窗体的度量单位 缺省度量单位是缇 Twip 它是一个与屏 幕无关的单位 用来保证屏幕应用程序对屏幕元素的定位和比例在所有的显示系统 上的一致性 1 缇等价于 1 20 个打印机的磅 1 英寸大约有 1440 缇 1 厘米约 567 缇 FontName 字体 属性 用于指定在窗体上输出字体的字库名称 缺省是宋体 通过程序代码可给它赋值 如 form1 fontname 黑体 FontSize 字号 属性 用于指定字体的大小 字体大小是以磅为单位 可在程 序运行时通过程序代码给字号属性赋值实现 其格式为 FontSize N 其中 N 是一 个整型数 磅值 FontBold 黑 体 FontItalic 斜 体 FontStrikethru 笔 划 体 FontUnderline 下划线体 属性 用于指定输出到窗体上的数据格式 只有 True 或 False 两种值 分别指定输出的字体风格是否为黑体 斜体 笔划体和下划线体 CurrentX X 坐标 CurrentY Y 坐标 属性 运行时属性 用于控制输出到 窗体的数据在窗体中的位置 分别代表当前输出点的 X 坐标和 Y 坐标 窗体坐标缺 省是从窗体左上角作为度量的起点 在窗体的左边缘 CurrentX 的值为 0 在窗体 的顶端 CurrentY 的值为 0 用户也可根据需要 通过设置窗体的 ScaleLeft ScaleTop ScaleHeight 和 ScaleWidth 属性值 以后介绍 来建立窗体自定义坐 标系统 FontTransparent 覆盖 属性 控制在向窗体输出数据时 若输出位置已有数 据 是否将输出的数据覆盖背景文本或图形 值为 True 时表示覆盖原有数据 原有 数据和新数据重叠显示 值为 False 时 擦除原有数据 只在指定输出位置显示新 数据 4 其他特性 AutoRedraw 属性 控制窗体图形的重建 当其他窗口已覆盖某窗体 返回该 窗体时 是否重画窗体 值为 True 则自动重画 缺省值为 False 则不重画 FillColor 属性 对窗体中的各种形状 圆 矩形等 填充颜色 FillStyle 属性 确定以何种风格填充窗体上形状 圆 矩形等 如 Line 800 800 2500 2500 QBColor 13 B Visible 可见性 属性 用来控制窗体是否在屏幕上显示 缺省值为 True 表示 可见 不可见状态并不意味着该窗体在应用程序中不存在 它只表示目前该窗体在 屏幕上不显示 它仍随同应用程序一起加载到内存中 在适当的时候 应用程序仍 然可以通过程序代码对该窗体对象进行控制和操作 Enabled 可用性 属性 用于确定窗体能否响应用户事件 值为 True 表示窗体 能响应用户事件 否则 窗体不接受用户事件 即当前窗体处于不可用状态 处于 不可用状态下的窗体 其上的所有控件也是不可用的 WindowState 属性 确定窗体窗口在运行时的可视状态 0 缺省值 正常窗口 1 窗口最小化 2 窗口最大化 二 窗体的方法 二 窗体的方法 窗体作为对象所具有的行为窗体作为对象所具有的行为 Cls Show Print Hide Move 等 1 方法的调用方式 对象名 方法名 参数 2 常用的方法 1 Print 打印 方法 以当前所设置的前景色和字体在窗体上输出文本字符串 调用格式 窗体名 Print Spc n Tab n 表达式列表 其中 窗体名 是由窗体的 Name 属性所定义的窗体名称标识 Spc n 在输出表达式前插入 n 个空格 Tab n 将指定的表达式输出到窗体第 n 个打印列表区 表达式列表 由一个或多个数值或字符类型的表达式组成 表达式之间 必须用空格 分号或逗号隔开 空格视为和分号等价 若无表达 式列表 则在当前位置输出一个空行 打印区 VB 把屏幕行每隔 14 列为一个打印区 分号表示光标定位在上 一个显示字符之后 紧凑 逗号表示光标定位在下一个打印区 的开始位置 通常 Print 方法打印一个表达式时 表达式的开始打印位置是由窗体当前的 CurrentX 和 CurrentY 属性决定的 当打印完一个表达式列表 Print 方法会自动在表 达式列表后加上一个回车 于是下一个 Print 方法会在下一行输出 例 2 1 在应用程序的窗体上输出一行文字 我是一名合格的大学生 在应用程序的窗体上输出一行文字 我是一名合格的大学生 教材 P131 例 5 1 2 Cls 清除 方法 用来清除运行时在窗体上显示的文本或图形 使用 Cls 方法后 窗体的 CurrentX 和 CurrentY 被设置为 0 调用格式 窗体名 Cls 3 Move 移动 方法 用来在在屏幕上移动窗体 调用格式 窗体名 Move left top width height 其中 left top width height 分别用来表示窗体相对于屏幕左边缘的水平坐标 相对于屏幕顶部的垂直坐标 窗体的新宽度和新高度 Move 方法至少需要一个 left 参数值 如果要指定其余参数值 则必须按顺序依次给 定前面的参数值 例 2 2 使用 使用Move方法移动一个窗体 窗体移动后定位在屏幕的左上角 同时 窗体的尺寸也缩小一倍 方法移动一个窗体 窗体移动后定位在屏幕的左上角 同时 窗体的尺寸也缩小一倍 教材P132 例 5 2 4 Show 显示 方法 用于在屏幕上显示一个窗体 如果要显示的窗体事先未装入 则 会自动装入该窗体再显示 使窗体的 Visible 为 True 调用格式 调用格式 窗体名窗体名 Show Modal Modaless 其中 Modal 为缺省 用户只能在本窗体进行选择 输入 不能切换到其他窗口 如 消息框 Modaless 可以允许用户随意在各个窗体之间切换 如 集成环境下的 代 码 窗口切换到任何其他窗口 5 Hide 隐藏 方法 用于使指定的窗体不显示 使窗体的 Visible 属性设置为 False 调用格式 窗体名 Hide 例 2 3 实现将指定的窗体在屏幕上进行显示或隐藏的切换 教材例 5 3 三 窗体的事件三 窗体的事件 Click Load Dblclick KeyDown KeyPress KeyUp MouseDown MouseMove MouseUp Unload 等 在 Visual Basic 应用程序中 窗体的事件 Event 就是指由 Visual Basic 预先定义好 的 能够被窗体对象所识别的动作 事件可以由用户激发 也可以由系统激发 窗体是控件 的载体 是程序运行的主要场所 一些程序运行所必须的初始化操作和退出前的善后工作 往往要在窗体创建及退出时被激活的事件过程中进行 下面我们边了解窗体的生命历程 创 建状态 加载状态 可见状态和卸载状态 边学习各阶段会发生的事件 1 窗体的创建窗体的创建 Initialize 事件 窗体创建状态开始的标志 窗体创建时最先执行的代码 只有窗体 的代码部分在内存中 而窗体的可视部分还没调入 2 加载窗体加载窗体 Load 事件 标志着加载状态的开始 窗体上的所有控件都被创建和加载 加载状 态是窗体的一个根状态 在任何时候 只要隐藏了窗体 就由可见状态回到加载状 态 Load 事件在窗体的存活期中只运行一次 3 可见状态 活动状态 可见状态 活动状态 使用窗体的 Show 方法 可以使窗体进入可见状态 使用 Hide 方法 窗体返回加载状态 Active 事件 当一个窗体变成活动窗体时所产生的事件 Deactivate 事件 当另一个窗体或应用程序被激活时所产生的事件 Click 事件 单击事件 事件 单击事件 Dblclick 事件 双击事件 Keydown 事件 键盘按下事件 接受几乎所有的 ASCII 字符 Keyup 事件 键盘释放事件 Keypress 事件 按键事件 从键盘按下到放开 只接受可打印的 ASCII 字符和少 数组合键 Private Sub Form KeyDown KeyCode As Integer Shift As Integer Private Sub Form KeyUp KeyCode As Integer Shift As Integer Private Sub Form KeyPress KeyAscii As Integer 其中 KeyCodeKeyCode 是键的编码 它是一个十进制整型数 键盘上的所有按键都有唯一确定的 键的编码 它把输入的键解释为物理键 即只与键在键盘中的位置有关 通过第二个参数 Shift 来解释按键的状态 ShiftShift 也是一个十进制整型数 它解释按键时组合键 Shift Alt 和 Ctrl 键 的状 态 KeyAsciiKeyAscii 它表示所按键对应的 ASCII 码值 对于在键盘上相同位置的键 它们的 ASCII 值可能不同 如小写字符 a 的 ASCII 码为 97 而大写字符 A 的 ASCII 码为 65 例 2 4 建立一个应用程序 实现将键盘输入的字符输出到当前应用程序的窗体 上 当键入回车键时 清除窗体上输出的文本 建立一个应用程序 实现将键盘输入的字符输出到当前应用程序的窗体 上 当键入回车键时 清除窗体上输出的文本 教材P136 例 5 4 Gotfocus 事件 获得焦点时发生的事件 焦点的概念在命令按钮中介绍 Lostfocus 事件 失去焦点时发生的事件 MouseMove 事件 当在一个活动窗体上移动鼠标时 会触发的事件 例 2 5 显示鼠标指针当前在窗体上的坐标位置 显示鼠标指针当前在窗体上的坐标位置 教材P137 例 5 5 Resize 事件 当窗体首次出现在屏幕上或窗体尺寸改变时 会触发的事件 窗体的卸载 窗体所占的内存和资源完全收回 窗体的卸载 窗体所占的内存和资源完全收回 Unload 事件 窗体卸载前最后发生的事件 窗体学习完了 你会用它吗 下面我们继续学习几个常用控件 2 2 控件的使用控件的使用 控件是构成用户界面的基本构件 在 中按其来源可分三大类 内部控件内部控件 存在于 的 EXE 文件中 总在工具箱中 Active XActive X 控件 扩展名为 OCX 的独立文件 仅在专业版和企业版中提 供的控件以及第三方开发商所提供的 Active X 控件 可插入的对象可插入的对象 诸如 Microsoft Excel 工作表 Microsoft Project 日 历等可以添加到工具箱中的对象 我们仅介绍内部控件及 Active X 控件中的通用对话框 添加和删除控件 添加和删除控件 添加控件添加控件 方法一 用鼠标左钮单击工具箱中所需控件的图标 选中 将鼠标指 针移向窗体窗口上 指针变为 十 字 当指针位于要求位置上 时 按下左钮并拖动鼠标 由鼠标移动而确定区域 显示为一个 变灰的矩形区域 若满意则放开鼠标按钮 控件会出现在窗体的 该位置上 方法二 双击工具箱中控件图标 则该控件立刻会以缺省的大小出现在 窗体的正中间 删除控件 删除控件 方法一 选中控件 在 EDIT 菜单中选择 Delete 项 方法二 选中控件 按 Del 键 方法三 选中控件 按鼠标右键 弹出菜单 选择 Delete 项 控件被删除后 为控件编写的事件过程还存在 调整控件位置和大小 调整控件位置和大小 方法一 用鼠标手动改变位置及大小操作同在 Word 中处理图片 方法二 在属性窗口中 改变 Left Top Height 和 idth 属性 控件的复制和粘贴 控件的复制和粘贴 拷贝 粘贴和剪切时 与之相关的属性值被复制 而事件过程并不一同操作 要使该控件具有相同的事件过程必须另外拷贝每个事件过程 控件数组是指一组具有相同名称和类型的控件 它们的事件过程完全相同 但 属性可以单独设置 Index 属性 用于指明控件数组的下标 成组处理控件 成组处理控件 成组控件成组控件 方法一 用鼠标拉一个矩形虚框 将需成组控件框住 方法二 先选中第一个控件 按下 CTRL 键 选择其余控件 处理处理 被成组的控件可整体移动 可同时对成组控件中共同的属性赋值 排列整齐 用属性窗口中的 Height Width Left 和 Top 属性或用格 式菜单中对齐 统一尺寸 按网格调整大小 水平间距 垂直间距等 好 下面让我们开始学习常用控件 请注意它们的外观 属性 行为 方法 和事件 2 3命令按钮命令按钮 命令按钮是使用最多的控件对象之一 常常用它来接受用户的操作信息 激发某些事件 实现一个命令的启动 中断和结束等操作 1 常用属性 常用属性 Caption Default Enabled Height Name Left Top Visible Width Cancel FontBold FontItalic FontName FontSize FontStrikethru FontUnderline ForeColor Index TabIndex TabStop Value 等 Caption 属性 用于设置命令按钮上显示的文本 Caption 属性最多包含 255 个字符 若标题超过了 命令按钮的宽度 文本将会折到下一行 如果内容超过 255 个字符 则标题超出部分被 截去 创建命令按钮的访问键快捷方式 其方法是在作为快捷访问键的字母前添加一个连 字符 18 53 And 6 2 结果为 True 7 3 Or 2 6 结果为 True Not 2 6 And 6 2 结果为 True a A Xor b B 结果为 False 7 8 3 2 Eqv 16 8 7 2 结果为 True 16 3 7 0 Imp 4 5 19 2 结果为 False 4 5 19 2 Imp 16 5 7 0 结果为 True 注意 逻辑运算一般是对关系表达式或逻辑量进行的 但也可以对数值进行 运算 在对数值进行运算时 是以数字的二进制值逐位进行逻辑运算的 如 10 And 7 10 的二进制数为 1010 7 的二进制数为 0111 对它们逐位进行逻辑运算得 到二进制数为 0010 结果是十进制数 2 3 5 5 运算的优先顺序运算的优先顺序 当一个表达式中出现多种运算符时 即同时出现算术 关系和逻辑时 如何 决定运算的次序呢 这就需要考察一下这三类运算符的优先次序 优先级高的运 算符先运算 运算符的优先级相同时 从左向右进行运算 VB 运算符的优先级见下表 表 3 7 VB 运算符的优先级 1 2 3 优先级 算术运算符 关系运算符 逻辑运算符 1 负号 Not 2 And 3 Xor 5 Mod Imp 7 18 53 And 6 2 结果为 True 7 3 Or 2 6 结果为 True Not 2 6 And 6 2 结果为 True a A Xor b B 结果为 False 7 8 3 2 Eqv 16 8 7 2 结果为 True 16 3 7 0 Imp 4 5 19 2 结果为 False 4 5 19 2 Imp 16 5 7 0 结果为 True 注意 逻辑运算一般是对关系表达式或逻辑量进行的 但也可以对数值进行 运算 在对数值进行运算时 是以数字的二进制值逐位进行逻辑运算的 如 10 And 7 10 的二进制数为 1010 7 的二进制数为 0111 对它们逐位进行逻辑运算得 到二进制数为 0010 结果是十进制数 2 3 5 5 运算的优先顺序运算的优先顺序 当一个表达式中出现多种运算符时 即同时出现算术 关系和逻辑时 如何 决定运算的次序呢 这就需要考察一下这三类运算符的优先次序 优先级高的运 算符先运算 运算符的优先级相同时 从左向右进行运算 VB 运算符的优先级见下表 表 3 7 VB 运算符的优先级 1 2 3 优先级 算术运算符 关系运算符 逻辑运算符 1 负号 Not 2 And 3 Xor 5 Mod Imp 7 y ENDSUB 3 6 4 循环结构循环结构 计算机可以为我们不厌其烦地重复做某一项工作成千上万 这就是循环控制 的功能 Visual Basic 支持的循环结构有 Do Loop For Next While wend 一 Do LOOP 结构 用 Do 循环重复执行一语句块 且重复次数不定 1 Do Loop 语句有语句有 4 种形式种形式 DO WHILE 循环条件 语句序列 LOOP 图 3 9 do while loop DO 语句序列 LOOP WHILE 循环条件 图 3 10 do loop while 结构 DO UNTIL 循环条件 语句序列 LOOP 图 3 11 DO UNTIL LOOP 结构 DO 语句序列 LOOP UNTIL 循环条件 图 3 12 DO LOOP UNTIL 结构 2 注意注意 循环体内必须存在这样一条语句来影响测试条件 使得测试条件的逻辑值发生变 化 否则这个循环就变成了死循环 3 举例 举例 例 3 7 按下式累加求自然对数的近似值 按下式累加求自然对数的近似值 1 4 1 3 1 2 1 1 1 1 N e 直到最后一项的值小于直到最后一项的值小于 10 6为止 为止 教材 P103 例 3 16 分析 本题涉及累加和连乘累加和连乘 注意两个定式 累加定式 累加器 SUM 0 语句序列 循环体 SUM SUM SUM 为累加值 循环体 ITEM 为连乘结果 流程图 图 3 13 例 3 7 流程图 二 二 For Next 结构结构 执行多少次循环时 最好使用 For Next 结构 连乘定式 ITEM 1 语句序列 ITEM ITEM 在知道要 格式 格式 For 循环变量 循环变量初值 To 循环变量终值 Step 增量 循环体 Next 循环变量 数值型变量 增量值为负值 则初值应大于终值 循环变量递减 说明 说明 1 循环变量的初值 终值和步长都必须是数值型表达式或 2 增量值为正值 则初值应小于终值 循环变量递增 增量值为 1 则 Step 子句可以省略 循环变量递增 1 流程 流程 步长为正 举例举例 例 3 8 图 3 14 FOR NEXT 结构结构 求从求从 1 加到加到 100 的累加和 的累加和 三 三 While wend结构结构 OP 结构类似 功能与 DO WHILE LO 格式 格式 While 测试条件 语句块 Wend 举例举例 例 3 9 有一段程序 Sub Form click Dim Timeleft As Integer eleft Timeleft 1 意意 循环体内必须存在这样一条语句来影响测试条件 使得测试条件的逻辑值发生变 Timeleft 5 While Timeleft 1 Print Tim Timeleft Wend End Sub 注注 化 否则这个循环就变成了死循环 四 从循环中退出四 从循环中退出 束就可 跳语句可以直接推出 For 循环 Do 循环 1 有时在程序中利用循环查找某个数据 当数据找到后 不需要等到循环结 以出循环以节省时间 使用 Exit 格式 格式 Do While Until 循环条件 语句序列 Exit Do 语句序列 Loop For 循环控制变量 初值 TO 终止值 Step 增量 语句序列 Exit For 语句序列 Next 循环控制变量 间寻找一个等于变量 J 的数字 放着用户输入的某个数字 to 658 next 3 注意 注意 只跳出本层循环 五 循环嵌套五 循环嵌套 环体外转到循环体内 也不允许从一个内循环转到另一个与之并列的循环体内 如下图 2 举例举例 例 3 10 在 1 658 之 假设变量 J 中存 dim I as integer for I 1 if I j then exit for 循环允许嵌套 但内外循环不可交叉 程序可以从循环体内转到循环体外 不允许从循 正确 错误 图 3 15 循环嵌套 举例 举例 例 3 11 读入读入N后 求算式后 求算式 的值 的值 教材 P99 例 3 11 3 7创建自己的数据类型创建自己的数据类型 合成一个有机整体 就像在 Excel 数据库中讲述的表单 同类型 互有联系的数据项组成 便于整体的处理这类数据 的标准数据类型外 还允许用户自己定义数据类型 它由若干 后使用的原则 自定义类型通过 Type 语句实现 格式格式 有时希望将不同类型的数据组 的 记录记录 是由不 在 VB 中 除了前面介绍 个标准数据类型组成 自定义数据类型必须遵循先定义 来 Type 自定义类型名 元素名 1 As 类型 元素名 2 As 类型 元素名 n As 类型 End Type 说明说明类型中的一个成员 起的名称 旦定据类型一样引用使用 注意注意 自默认的是全局变量 Public 元素名 表示自定义 类型 标准类型 自定义类型名 用户为新定义的数据类型所 一义了自定义类型的数据类型之后 就可以像标准数 定义类型必须在标准模块 标准模块 BAS 中定义 定义类型中的元素类以有字符串 但必 自型可须是定长字符串 例 12 例 12 0 姓名 性别 shuX As Single 数学成绩 As Single 语文 Y As Single 外语 wuL As Single 物理 tiY As Single 体育 奖惩标志 End Type Type 为类型 也可以说是一种自定义类型 所谓枚举类型是通过 列相关的名称与常数数值相关连 这样在使用中可以使用名称而不使 一 枚举类型的声明 一 枚举类型的声明 3 3 定义一个学生成绩管理信息的数据类型定义一个学生成绩管理信息的数据类型 Type XstestType INo As integer 编号 integer 学号 iXh As strName As String 2 strSex As String 1 yuW wai huaX As Single 化学 sTotal As Single 总分 fTag As Boolean Dim dona as xstest 3 8 枚举枚举 枚举 也称枚举 声明将一系 用具体的数值 便于辨识 格式 格式 Public Private Enum 名称 达式 成员名称 常数表 达式 成员名称 常数表 E 注意 注意 VB 的枚举类 常数表达式并非必须 若省略的话默认枚举中的第一个常数为 0 以后依次为 1 2 Enum 语句只能在模块 bas 级别中出现 例 3 13型 例 3 13型 Days 使得常数 使得常数 Sunday 代表数值代表数值 0 Monday 代表数值代表数值 nd Enum 型中的常数数值通常被转换成长整数 定义一个枚举类 定义一个枚举类 1 Saturday 代表数值代表数值 6 Public Enum Days Sunday Monday Tuesday Wednesday Thursday Friday Saturday End Enum 数组织进枚中 就可以在不同的上下文环境中使用统一的常数名称 二 枚二 枚 1 引 引 一般应在成员名称前指出枚举名 如 Day1 Saturday WorkDays Saturday 由于两个 Saturday 分属不同的枚举 因此它们的常数值可以是不一样的 量量 声明了枚举类型后 就可以定义枚举类型的变量 当然也就可以使用该变量储存的 在上述的枚举定义中 省略了常数表达式 因此系统默认的只是 0 1 通过将相 关的常举类型 举类型的使用举类型的使用 用单个常数用单个常数 当引用单个常数时 为了避免模糊引用 例 2 声明枚举变声明枚举变 枚举常数的数值 例 3 14 一个使用枚举变量的例子 一个使用枚举变量的例子 3 9数组数组 数组是使用一个名字的一组相同类型变量 数组中的每个元素都拥有唯一的索引号来标 在 VB 中有两种类型的数组 固定大小的数组 静态数组 它总是保持同样的大小 以及在运行时大小可以变化的动态数组 一 一维数组一 一维数组 识自身 1 声明格式声明格式 D 其中其中 im Public Static 数组名 下标 As 类型 数组名 下标 As 类型 数组名 应是合法的变量名 可同时声明多个数组 各数组之间用逗号分 割 下标必须是常数 不允许是表达式或变量 下标的形式为 下界to 上界 下界必须小于上界 下标下界最小可为 数组的 中 维的大小 即 4 W1 是一个一维整型数组 有 181 个元素 Dim Sums 20 As Double 21 个元素 32768 最大为 32767 下界可以省略 省略时系统默认值为0 下界并非一定是0 而且可以改变的 在VB的窗体层或标准模块层 可以用 Option Base n 语句重新设定数组的默认下界 每一 存储单元的多少为 上界 下界 1 当 As 类型缺省或数据类型为 Variant 时 都是变体类型 例如例如 定义数组 Dim W1 36 To 14 Dim WA As String 30 WA 是一个定长字符串变量 其长度为 30 Public Counters 2 to 14 As Integer 13 个元素 Static A1 3 As Integer b1 4 As Sring 同时声明两个数组 2 2 引用格式 引用格式 现的数组名及下标表示与在程序中出现的数组名 如 nteger 声明了x数组 有11个数组元素 x 10 100 对数组x的第11个数组元素x 10 赋值 例3 15 数组名 下标 注意 在数组声明语句中出 及下标表示是不同的 例 Dim x 10 As I 编一个统计 编一个统计 50 个学生某门课平均成绩的程序个学生某门课平均成绩的程序 入50个学生的成绩 2 累加成绩总和 3 求出平均成绩 4 输出结果 分析 1 输 二 多维数组二 多维数组 声明格式声明格式 Dim 数组名 下标1 下标2 As 类型 其中其中 下标的个数决定了数组的维数 VB最多允许60维数组 多维数组的大小等于各维大小的乘积 举例 举例 定义多维数组的例子 rry 第二维下标范围是0 4 大小5 整 Arry数组的元素如下 4 iArry 3 0 iArry 3 1 iArry 3 2 iArry 3 3 iArry 3 4 2 2 3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论