VB程序设计(下)ppt.ppt

上传人:za****8 文档编号:20689320 上传时间:2021-04-13 格式:PPT 页数:277 大小:7.22MB
返回 下载 相关 举报
VB程序设计(下)ppt.ppt_第1页
第1页 / 共277页
VB程序设计(下)ppt.ppt_第2页
第2页 / 共277页
VB程序设计(下)ppt.ppt_第3页
第3页 / 共277页
点击查看更多>>
资源描述
辽宁科技大学 电子课件 2008-3 V B 程序设计 Visual Basic Programming 2 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1.了解数组的基本概念 2.熟练掌握一维数组的使用方法 3.掌握数组的基本操作 4.灵活应用静态数组与动态数组 5.掌握数组的常用算法 本章学习目标 6.掌握用户自定义类型的基本用法 3 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.1 数组的概念 5.4 数组的基本操作 5.2 数组的定义和引用 5.3 静态数组及动态数组 5.5 控件数组 4 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.1 数组的概念 数组的引出 1、己知 50名学生的一门课成绩,要求找出高于平 均分的所有学生的成绩。 2、输入 50个数,要求程序按输入时的逆序把这 50 个数输出来。即按输入时的相反顺序输出这 50个数。 5 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.1 数组的概念 数组是一组相同类型变量的集合。 VB通过下标来给数组元素编号,下标与数组名 相结合可以实现对具体元素的访问。 数组名和下标 来唯一地确定数组中的元素。 数组在内存中分配的是一块连续存储区域,数 组元素按着一定次序在这块区域中连续存放。数组 所需要的存储空间与元素的个数和元素的类型有关。 6 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.2 数组的定义 1.数组的 定义 2.数组的 引用 3.数组下 标的界值 定义数组的一般格式为: Dim 数组名 (第一维说明 ,第二维说 明 ) As 类型名称 说明: (1) 数组须先定义后使用,未定义不能使用。 (2) 格式中的部分为可选部分。 (3) 省略 As 类型名称 定义数组,默认为变 体类型的数组。 7 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.2 数组的定义 (4) 维说明的形式为: 下标下界 to 下标上界 其中当下标的下界为默认值 0时,可以省略不写 (5) 也可以下面方式定义下标下界的默认值: Option Base n 其中 n为 0或 1。 (6) 用 Dim语句定义数组时,该语句把数组元素初始 化为 0或空字符串。 (7) 在同一过程中,数组名不能与其他数组名或变 量名相同。 1.数组的 定义 2.数组的 引用 3.数组下 标的界值 8 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.2 数组的定义 引用数组元素的格式为: 数组名 (下标 1,下标 2 ) 说明: (1) 在程序中,凡是能用变量的地方,都可用数 组元素来替换。 (2) 引用数组元素时,要注意数组名、类型及维 数要与定义的一致。 (3) 数组元素的下标要在定义的范围之内 ,否则 出现下标越界错误。 1.数组的 定义 2.数组的 引用 3.数组下 标的界值 9 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.2 数组的定义 由键盘输入 10个数,再逆序输出。 例 5-1 1.数组的 定义 2.数组的 引用 3.数组下 标的界值 10 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.2 数组的定义 由键盘输入 10个学生的成绩,输出高于平 均分的成绩。 例 5-2 1.数组的 定义 2.数组的 引用 3.数组下 标的界值 代码 11 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.2 数组的定义 定义一个可存放不同类型数据的一维数组 并输出。 例 5-3 1.数组的 定义 2.数组的 引用 3.数组下 标的界值 12 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.2 数组的定义 数组的下标范围由下标的下界和上界来确定, 下界和上界可以是任何整型常量或常量表达式。 如: Dim aa(-1 to 1,-2 to 1)语句定义的二 维数组,其元素名分别为: aa(-1,-2) aa(-1,-1) aa(-1,0) aa(-1,1) aa(0,-2) aa(0,-1) aa(0,0) aa(0,1) aa(1,-2) aa(1,-1) aa(1,0) aa(1,1) 1.数组的 定义 2.数组的 引用 3.数组下 标的界值 13 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.2 数组的定义 LBound函数和 UBound函数 格式: LBound(数组名 ,维 ) UBound(数组名 ,维 ) 说明: (1) 数组名是要测试的数组。 (2) LBound函数返回数组的下界值, UBound函数返回数组的上 界值。 (3) 一维数组可省略 ,维 ,二维数组必须指定 LBound(aa,2) 表示测试 aa数组的第二维下界,其值为: -2。 UBound(aa,1)表示测试 aa数组的第一维上界,其值为: 1。 1.数组的 定义 2.数组的 引用 3.数组下 标的界值 14 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.2 数组的定义 用 LBound函数和 UBound函数改写例 5-3。 例 5-4 1.数组的定义 2.数组的 引用 3.数组下 标的界值 15 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.3 静态数组 1.静态数组 2.动态数组 静态数组的二种形式 : 用 Dim语句所定义的数组。 用 Static语句定义的数组。 两者的区别: (1) Static语句只能出现在过程中, Dim 语句不 仅可以出现在过程中,还可以出现在通用声 明中。 (2) 在过程中用 Dim语句定义的数组,过程执行结 束后将释放内存空间。 (3) 在过程中用 Static语句定义的数组,过程执 行结束后将不会释放内存空间。 16 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.3 静态数组 1.静态数组 2.动态数组 比较用 Static语句定义的数组与用 Dim语 句定义的数组之区别。单击 5次 “ 打印 ” 命令按钮 后的结果如图所示: 例 5-5 17 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.3 静态数组 1.静态数组 2.动态数组 动态数组 (可调数组 ) 定义可调数组的步骤: 在窗体或标准模块中用 Dim语句或 Public语句 声明一个没有下标的数组 (括号内不要写维说明 ); 在过程中根据需要再用 Redim语句确定数组的 大小。 可调数组的声明格式: Dim 数组名 ( ) As 类型 定义数组名 ReDim Preserve 数组名 (下标 ) 重定义数组大 小 18 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.3 静态数组 1.静态数组 2.动态数组 可调数组说明 (1) 在过程中, 可多次用 ReDim语句来改变数组 的大小 ,也 可改变数组的维数 ,但 不能改变 数组的类型 。 (2) 若不指定 Preserve保留字,在执行 ReDim语句时,数组中原来所存放的值将全部 丢失。 (3) 指定 Preserve保留字,在执行 ReDim语 句时,数组中原来所存放的值将不会丢失。 但使用 Preserve保留字后,只能改变最 后一维的大小,前几维的大小不能改变。 19 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.3 静态数组 1.静态数组 2.动态数组 随机产生 n 个学生的一门课成绩,在图片 框中输出,求其平均成绩,用文本框输出,学生 人数由文本框输入。 例 5-6 20 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.3 静态数组 1.静态数组 2.动态数组 通过输入对话框输入一批成绩,把及格的和 不及格的成绩分别存放在数组 a和 b中,并以每行 5 个 数据的形式输出数组 a和 b。输入 -1时程序结束。 例 ls 代码 21 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 1.数组元素 的输入 2.数组元素 的输出 数组是一种构造类型, 数组名通常是整个 数组的标识 , 对数组的操作实际上是对数组 元素的操作 。基本操作一般是指对数组元素 所进行的输入和输出,即如何给数组元素赋 值,又如何将数组元素的值显示在窗体上或 控件上。 22 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 数组元素的输入 (方法一 ) 由键盘输入 10个数据,分别统计正数之 和及负数之和。 例 5-7 1用循环结构及 InputBox函数给数组元素赋值 1.数组元素 的输入 2.数组元素 的输出 23 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 数组元素的输入 (方法二 ) 2用数组名直接赋值 用静态数组 ww元素的值给动态数组 yy赋值。 例 5-8 1.数组元素 的输入 2.数组元素 的输出 24 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 例 5-8说明 (1) 通过数组名给数组名赋值的条件是: 两个数组 的类型相同,且赋值号左边为动态数组,右边 为静态数组。 (2) 赋值号左边的动态数组,通过赋值确定大小。 1.数组元素 的输入 2.数组元素 的输出 25 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 数组元素的输入 (方法三 ) 3用 Array函数给数组元素赋初值 格式: 数组变量名 =Array(数组元素值) 功能:将小括号中的数据依次赋给数组中的各元素。 说明: (1) 数组可以说明成 Variant类型或不说明类型。 (2) 所声明的 数组为可调数组 ,圆括号可省略不写 (3) 数组下标的上界值由括号内的参数个数决定 (4) Array函数 只适用于一维数组 。 (5) Array函数中的数组元素值之间以逗号分隔 1.数组元素 的输入 2.数组元素 的输出 26 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 用 Array函数为数组 C赋初值。 例 5-9 1.数组元素 的输入 2.数组元素 的输出 27 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 数组元素的输入 (方法四 ) 4将控件的属性值赋给数组元素 根据提示分别将 5个数据通过文本框赋 给一维数组 w,单击输入框中的 “ 确定 ” 按钮完 成每次的输入操作;单击显示框中的 “ 确定 ” 按钮,在图片框中输出数组 w中所有元素的值。 例 5-10 看图 1.数组元素 的输入 2.数组元素 的输出 28 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 数组元素的输出 (方法一 ) 1用 Print 方法将数组元素的值输出到窗体上 或图片框中。 如例 5-9中的语句: For i = 0 To 5 Print c(i) Next i 再如例 5-10中的语句: For i = 1 To 5 Picture1.Print ww(i) Next i 是利用循环并结合 Print语 句将数组元素的值依次输出 在窗体上。 是利用循环并结合 Print语句将数组元 素的值依次输出在图 片框上。 1.数组元素 的输入 2.数组元素 的输出 29 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 数组元素的输出 (方法二 ) 2用赋值语句将数组元素的值显示在标签、文 本框中或其他控件上。 求数组中的最大元素及下标。 例 5-11 1.数组元素 的输入 2.数组元素 的输出 30 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 数组元素的输出 (方法三 ) 3用 For Each Next 语句输出 格式: For Each 成员 in 数组 Exit For Next 成员 功能: For Each Next 语句主要用于对数组或 集合中的元素 逐一进行循环控制操作 。 1.数组元素 的输入 2.数组元素 的输出 31 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 数组元素的输出 (方法三 ) 说明: (1)“成员 ” 必须是一个 变体变量名 ,为循环而 设,表示某个数组元素的值。 (2) “数组 ” 仅为一个 数组名 ,不需括号、上界、 下界等。 (3) 从 For Each语句到 Next语句之间的语句为 循环体。可用 Exit For语句直接跳出循环。 1.数组元素 的输入 2.数组元素 的输出 32 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 数组元素的输出 (方法三 ) 该语句的执行过程: (1) 首先计算数组元素的个数,决定循环的次数 (2) 每次执行循环体之前先将数组的一个元素的 值赋给成员,第一次是第一个数组元素,第 二次是第二个数组元素,依次类推。 (3) 执行循环体后,转到 (2)。 (4) 直到遍历完每一个数组元素或遇到 Exit For 语句则退出该循环。 1.数组元素 的输入 2.数组元素 的输出 33 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.4 数组的基本操作 用 For Each Next 语句输出数组元素。 例 5-12 1.数组元素 的输入 2.数组元素 的输出 34 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.5 控件数组 1.控件数组 的概念 2.控件数组 的建立 一组完成类似功能且类型相同的控件 ,将它 们组合起来,以控件的名称作为数组名,并给 各个控件冠以不同的下标,所组成的数组,称 之为控件数组。 数组中的某个元素,代表某一 个具体的控件,所完成的功能与独立的控件几 乎一样 。 35 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.5 控件数组 1.控件数组 的概念 2.控件数组 的建立 建立一个含有三个命令按钮的控件数组, 当单击某个命令按钮时,标签的背景分别显示不 同的颜色。 例 5-13 36 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.5 控件数组 控件数组的建立方法一 1在界面设计时建立 (1) 先创建数组中的第一个控件 (注意此时控件的 Index属性值为空 ) 。 (2) 选取该控件复制,再粘贴。系统自动提示: “ 是 否创建一个控件数组吗? ” 。 (3) 单击 “ 是 ” 按钮,窗体上自动增加一个属性基本 相同的控件(注意此时第一个控件的 Index=0, 新增控件的 Index=1)。 (4) 继续粘贴,便会产生一系列属性基本相同,而只 有 Index属性不同的一组控件,即控件数组。 1.控件数组 的概念 2.控件数组 的建立 37 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.5 控件数组 控件数组的建立方法二 2在程序运行时增加控件数组元素 (1) 在窗体上添加第一个控件,将其 Index属性设置 为 0, Visible属性设置为 False。 (2) 在编写事件代码中,用 Load方法添加新的控件数 组元素 ,并将其 Visible属性设置为 True; 用 UnLoad方法可以删除控件数组元素 。 (3) 设置其 Left属性和 Top属性。 (4) 当程序运行时,则会根据编程中的命令,添加或 删除控件。 1.控件数组 的概念 2.控件数组 的建立 38 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.5 控件数组 Load语句和 UnLoad语句 Load语句的一般格式为: Load 控件数组名 (下标 ) 其中控件数组名为控件名称,如: Label1、 Command1、 Picture1等,下标为 1、 2、 3等。 UnLoad语句的一般格式为: UnLoad 控件数组名 (下标 ) 1.控件数组 的概念 2.控件数组 的建立 39 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.5 控件数组 单击“添加图片”按钮,在窗体上增加 一幅图片,单击“删除图片”按钮,在窗体上删 除一幅图片,最多显示四幅图片。 例 5-14 1.控件数组 的概念 2.控件数组 的建立 40 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 5.7 数组应用举例 将输入的一维数组的数据逆序存放并输出。 例 5-18 例 5-18 例 5-19 例 5-20 例 5-21 例 5-22 例 5-23 41 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 从键盘输入 7个数据,从小到大排序。 例 5-19 5.7 数组应用举例 例 5-18 例 5-19 例 5-20 例 5-21 例 5-22 例 5-23 代码 42 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 求矩阵 A的转置矩阵。 例 5-20 矩阵 A 1 2 3 4 5 6 7 8 9 5.7 数组应用举例 例 5-18 例 5-19 例 5-20 例 5-21 例 5-22 例 5-23 43 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 在一个二维数组中查找某个整数,若找 到就显示该元素及其数组下标,若未找到则给出 提示。 例 5-21 5.7 数组应用举例 例 5-18 例 5-19 例 5-20 例 5-21 例 5-22 例 5-23 44 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 分别求下列矩阵两个对角线元素之和。 例 5-22 5.7 数组应用举例 例 5-18 例 5-19 例 5-20 例 5-21 例 5-22 例 5-23 1 2 3 4 5 6 7 8 9 45 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 求下列两个 矩阵之和。 矩阵 A 矩阵 B 1 2 3 0 1 2 4 5 6 3 4 5 7 8 9 6 7 8 例 5-23 5.7 数组应用举例 例 5-18 例 5-19 例 5-20 例 5-21 例 5-22 例 5-23 46 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 设要在一个具有 n个升序排列元素的一维数组中插入一 个新的元素 k,使原数组仍然是有序的。算法描述如下: (1)从第 1个元素开始逐个与 k比较,一旦发现第 p个元素大于 k,则 确定插入的位置为 p,如果所有元素均小于 k,则确定插入的位置为 n+1。 (2)重新定义数组大小,从第 n个元素到第 p个元素逐一向后移动一 个位置。 (3)将 k赋值给第 p个元素,完成插入操作。 例 5-24 5.7 数组应用举例 2 4 6 10 8 待插入元素 k a(1) a(2) a(3) a(4) a(5) a(6) 7 例 5-24 例 5-25 47 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 在窗上画一个文本框一个图形框,和一 个命令按钮,在文本框中输入一串字符,当单击 “统计”按钮时,统计各字母出现的次数,并在 图形框中输出。输入不区分大小写字母 例 5-25 5.7 数组应用举例 例 5-25 例 5-24 辽宁科技大学 电子课件 2008-3 V B 程序设计 Visual Basic Programming 49 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 2.能熟练运用键盘响应事件及相关参数 完成对数据有效性输入的检验及控制 1.能运用鼠标事件绘制简单图形 3.了解坐标系统、绘图的属性和事 件,掌握三种不同的绘图方法 本章学习目标 50 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 8.2 键盘和鼠标器 8.1 绘图 8.3 拖放 51 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 6.1 绘图 3.绘图方法 VB为用户提供了简洁有效的图形图像 处理能力,除了窗体和控件的图形图像特征 以外,它还提供了一系列基本的图形函数、 语句和方法,支持直接在窗体上产生图形、 图像和颜色,改变控件对象的位置和外观。 绘图 52 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 绘图语句所绘制的图形,通常是通过容器 控件(窗体、图片框)输出的,而每个容器控 件都有一个坐标系统,坐标系是在容器控件中 绘图必备的条件。一个坐标系,包含坐标度量 单位、坐标原点、坐标轴的长度与方向等要素。 由坐标的原点、长度和方向三个要素确定绘制 的图形在容器中的位置。 绘图的基本操作 6.1 绘图 53 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 坐标度量单位 坐标度量单位是由容器对象的 ScaleMode属性决定的 内部常数 数值 含 义 vbUser 0 指出 ScaleHeight、 ScaleWidth、 ScaleLeft和 ScaleTop属性中的一个或多个被设置为自定义的值 vbTwips 1 缇 (默认单位 ) vbPoints 2 磅 vbPixels 3 像素 (监视器或打印机分辨率的最小单位 ) vbCharacters 4 字符 (水平每个单位 =120缇;垂直每个单位 =240缇 ) vbInches 5 英寸 vbMillimeters 6 毫米 vbCentimeters 7 厘米 6.1 绘图 54 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 坐标系统 容器的坐标系统可以由 ScaleLeft、 ScaleTop、 ScaleHeight、 ScaleWidth来属性确定。 其中: ( ScaleLeft, ScaleTop)是所绘制的图形在容 器中显示区域的左上角坐标; ( ScaleLeft+ScaleWidth, ScaleTop+ScaleHeight)是所绘制的图形在容器中 显示区域的右下角坐标。 系统默认( ScaleLeft, ScaleTop)为( 0, 0) 原点 (0,0) Y 轴 X轴 Top Left 图 8-8 坐标系 看图 6.1 绘图 55 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 自定义坐标系统 如果用户使用系统默认( ScaleLeft, ScaleTop)即( 0, 0)则默认坐标的原点在容器 的左上角。通常我们在绘制图形时,如希望坐标 的原点在一个指定的位置,这时用户可自定义坐 标系统。 方法一: 利用( ScaleLeft, ScaleTop)和 ( ScaleLeft+ScaleWidth, ScaleTop+ScaleHeight)属性定义坐标系统,将 ( ScaleLeft, ScaleTop)坐标平移,坐标向右、 向上移动为正,坐标向左、向下移动为负。 6.1 绘图 56 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 自定义坐标系统 方法二: Scale方法的格式: 对象 .Scale(xLeft,yTop)-(xRight,yBottom) 功能:自定义坐标系统。 6.1 绘图 57 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 在一窗体上,分别在系统默认坐标系和用 户自定义坐标系中各画一条起点坐标和终点坐标 都相同的线段,观察在不同坐标系统对窗体的大 小及在屏幕上的位置是否有影响,同一线段图形 在不同坐标系统中的显示变化。并将指针的坐标 值显示在文本框中。 例 8-7 看图 6.1 绘图 58 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 绘图属性 1.CurrentX, CurrentY属性 CurrentX, CurrentY属性给出在容器内绘图时 的当前横坐标、纵坐标,这两个属性只能在程序中 设置。 CurrentX, CurrentY属性格式: 对象 .CurrentX = x 对象 .CurrentY = y 功能:设置对象的 CurrentX和 CurrentY的值。 6.1 绘图 59 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 2.DrawWidth属性 DrawWidth属性用于设置容器内所画线的宽 度或点的大小。 DrawWidth属性格式: 对象 .DrawWidth = 功能:设置容器输出的线宽。 其中: 为数值表达式,其范围从 1 到 32767,该值以像素为单位表示线宽。缺省值 为 1,即一个像素宽。 6.1 绘图 60 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 3.DrawStyle属性 DrawStyle属性用于设置容器内所画线的形状。 4.AutoRedraw属性 AutoRedraw属性用于设置和返回对象或控件 是否能自动重绘。 若 AutoRedraw属性值为 True时,使 Form对象 或 PictureBox控件的自动重绘有效,否则对象不 接受重绘事件( Paint)。 6.1 绘图 61 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 5.FillStyle属性 FillColor指定填充图案的颜色,默认的颜 色与对象的 ForeColor相同。 6.FillColor属性 FillStyle属性指定填充的图案,共有 8种类 型。 FillStyle属性设置为 0 7时的填充效果 6.1 绘图 62 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 在窗体上点击鼠标左键,产生三百根爆 炸射线,点击鼠标右键,清除打印图形,在窗 体上输入当前坐标的属性值。 例 6-1 6.1 绘图 63 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 通过改变 DrawStyle属性值,在窗体上带 出不同的线型,通过改变 DrawWidth属性值画一 系列宽度递增的直线。 例 6-2 6.1 绘图 64 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 演示颜色的渐变过程。 例 6-3 6.1 绘图 65 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 1. Line 方法 用 Line方法能够在容器内画出一个线段,或一个矩 形。 Line方法格式如下: 对象名 . Line Step(X1, Y1) (X2, Y2),颜色 ,BF 功能:在由 对象名 .指定的容器内,在坐标 系中以( X1, Y1)为起点,( X2, Y2)为终点画一 个线段,或一个矩形。 6.1 绘图 66 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 Line 方法 注意事项: ( 1) ,BF: B表示画矩形, F表示用画矩 形的颜色来填充矩形。 ( 2) Step:从当前坐标移动相应的步长后 所得的点为画线起点。 ( 3) Line方法中的参数可根据实际选择取舍, 如果舍去的是中间参数,但参数的分隔符不能舍 去。 6.1 绘图 67 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 用 Line方法在图片框中画出指定长和宽 构成的矩形及矩形块。要求矩形由四条不同颜色 线段连接而成。 例 6-4 6.1 绘图 68 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 2.Circle 方法 用 Circle方法能够在容器内画出一个圆、或 椭圆、或圆弧 , 或扇形。 Circle方法格式如下: 对象名 . Circle Step ( X, Y) , 半径 ,颜色 ,起始角 ,终止角 ,长短轴比率 功能:在由 对象名 .指定的容器内,在坐 标系中以( X, Y)为圆心画圆、或椭圆、或圆弧, 或扇形。 6.1 绘图 69 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 2.Circle 方法 注意事项: ( 1)( X, Y):为圆心坐标。 ( 2)半径:为圆的半径。 ( 3) ,起始角 和 ,终止角 :可控制画圆弧 和扇形。 ( 4) ,长短轴比率 :可控制画圆还是椭圆, 默认值为 1,画圆。 6.1 绘图 70 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 在窗体的 4个文本框中输出班级里优、良、 及格和不及格的人数,计算所占的百分比,然后 分别用不同的颜色绘制出椭圆的饼图。 例 6-5 6.1 绘图 71 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 3. Pset 方法 用 APset方法能够在容器内画出一个点。 Pset方法格式如下: 对象名 .Pset ( X, Y) ,颜色 功能:在由 对象名 .指定的容器内,在坐 标为( X, Y)的位置上画一个点;若缺省 对象 名 .则在窗体上,且坐标为( X, Y)的位置上画 一个点。 6.1 绘图 72 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 用 Pset方法绘制阿基米德螺线 。 例 6-6 6.1 绘图 73 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 4. PrintPicture方法 格式如下: Object. PaintPicture 图片 ,x1,y1 ,宽度 1,高度 1,x2,y2 ,宽度 2,高度 2 功能: PrintPicture方法用于在窗体、图片框和 打印机上绘制出图形文件的内容,图形文件类 型包括 .bmp、 .wmf、 .emf、 .cur和 .ico等。 6.1 绘图 74 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 PrintPicture方法 说明 Object指目标对象 ,可以是窗体、图片框或打印 机 图片指源图文件。 x1、 y1指在目标对象上绘制图片的左上角坐标 (x,y) 宽度 1、高度 1是目标对象绘图的宽度和高度。 x2、 y2指源图片内剪贴区的左上角坐标,默认 为 (0, 0)。 宽度 2、高度 2指源图片内剪贴区的宽度和高度, 默认为整个图片的宽度或高度。 6.1 绘图 75 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 用鼠标在 Picture1中拖放选择部分区域, 再点击放大按钮,在 picture2中将选择的部分放大 显示。 例 6-7 6.1 绘图 76 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 5.Point方法 格式: Object. Point (x,y) 功能: Point方法用于获取窗体上或图片框中指 定点的 RGB颜色。 说明: Object指获取颜色点所在的目标对象, (x,y)为对象中某个像素的位置坐标。 Point 方法返回值为长整型,如果由 (x,y)坐标指定 的点在 Object对象外面,则 Point方法返回值 为 -1。 6.1 绘图 77 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 将图片框的图像进行反转显示。 例 6-8 6.1 绘图 78 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 编写一个程序,当按下键盘上的某个键 时 ,输出该键的符号及 KeyCode码 (十六进制和十进 制 )。 例 6-9 6.1 绘图 79 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 动态数学曲线。利用 VB中的 Line和 Pset 绘图方法来绘制正弦曲线。 例 6-10 6.1 绘图 80 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 绘图操作 基础 2.绘图的属 性与事件 3.绘图方法 编写程序,模拟汽车上的“雨刷器”。 例 6-11 6.1 绘图 81 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 6.2 键盘和鼠标器 1) 键盘 键盘事件是用户敲击键盘时触发的事件, 一般用来检测输入数据的合法性或对于不同键 值的输入实现不同的操作。 常用的事件有: KeyPress事件 KeyDown事件 KeyUp事件 82 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 KeyPress事件 当用户按下和松开一个 ANSI键时发生 KeyPress 事件 (即 KeyPress事件只对能产生 ASCII码的按键 有反应 )。 语法格式 Sub Form_KeyPress(KeyAscii as Integer) Sub Object_KeyPress(Index as Integer, KeyAscii as Integer) 6.2 键盘和鼠标器 83 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 说明 Object为可以产生 KeyPress事件的对象; Index是一个整数,用来唯一标识一个在控件 数组中的控件。 KeyAscii为按键相对应的字符 ASCII码 值,大 小写字母的值不同。 将 KeyAscii改变为 0时 ,可取消击键,这样对 象便接收不到所按键的字符。 6.2 键盘和鼠标器 84 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 在文本框中输入用户的用户名和密码, 并在输入时检测按键的有效性,要求用户名必须 为字母构成,长度不超过 8位,密码的长度不得少 于 4位 。 例 6-12 6.2 键盘和鼠标器 85 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 KeyDown和 KeyUp事件 格式: Sub Object_KeyDown(KeyCode as Integer,Shift as Integer) Sub Object_KeyUp(KeyCode as Integer,Shift as Integer) 说明: KeyCode:是按键的扫描码 ,它的值只与按键在键盘上的物理 位置有关,与键盘的大小写状态无关。 Shift参数 B0为 1:按下了 Shift键; B1为 1:按下了 Ctrl键; B2为 1:按下了 Alt键。 6.2 键盘和鼠标器 86 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 Shift参数值的表达与含义 二进制 常 数 按下键 001 VbShiftMask Shift 010 VbCtrlMask Ctrl 011 VbShiftMask + VbCtrlMask Shift + Ctrl 100 VbAltMask Alt 101 VbAltMask + VbShiftMask Alt + Shift 110 VbAltMask + VbCtrlMask Alt + Ctrl 111 VbAltMask + VbCtrlMask + VbShiftMask Alt + Ctrl + Shift 6.2 键盘和鼠标器 87 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 键盘事件说明 KeyPress KeyDown和 KeyUp 事件发生的时间 输入一个 ASCII字符 按任意一个键 参数值 KeyAscii接收到 字符的 ASCII值 KeyCode接收到 键的扫描码 按 Shift+A时 事件发生的次数 事件发生一次 事件发生两次 按 Shift+A时参数值 (键盘处于大写状态 ) 97 第一次是 16 第二次是 65 按 Shift+A时参数值 (键盘处于小写状态 ) 65 第一次是 16 第二次是 65 6.2 键盘和鼠标器 88 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 Space、 Enter及 的 KeyCode码值分别为 32、 13、 37和 39。 请注意 KeyCode与 KeyAscii的区别 1. 键盘 2. 鼠标器 在窗体上用键盘控制小球的运动。小球 用 Shape控件表示,在窗体上有两个命令按钮分 别为 “ 开始 ” 和 “ 结束 ” ,单击 “ 开始 ” 按钮, 窗体上出现红色小球,按方向键 和 ,小球向 左和右移动,单击 Space键,小球向上或向下跳 动,按 Enter键结束小球操作。 例 8-13 6.2 键盘和鼠标器 89 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 编写一个程序,当按下 Alt+F5键时终止程序的运行 例 8-14 先把窗体的 KeyPreview设置为 True,再编写如下的程序 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 按下 Alr键时, Shift的值为 4 If (KeyCode = vbKeyF5) And (Shift = 4) Then End End If End Sub 6.2 键盘和鼠标器 90 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 鼠标器 鼠标事件除了 Click和 DblClick事件之外,还包括: MouseDown 事件按下鼠标时被触发 MouseUp 事件释放鼠标时被触发 MouseMove 事件移动鼠标时被触发 其中, MouseMove事件并不是对鼠标经过的每个像素都 会触发,而只是每秒生成有限多个鼠标消息。 格式: Sub Object_鼠标事件 (Button as Integer, Shift as Integer, X as Single, Y as Single) 6.2 键盘和鼠标器 91 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 说明 Button参数 B0为 1:按下了左键; B1为 1:按下了右键; B2为 1:按下了中键。 Shift表示当鼠标键被按下或被释放时, Shift、 Ctrl、 Alt 键是否同时被按下的状态。 与键盘事件的 Shift相同。 (3)x,y:鼠标的当前位置。 b2 b1 b0 二进制 常 数 按下按钮 001 VbLeftButton 左按键 010 VbRightButton 右按键 100 VbMiddleButton 中按键 6.2 键盘和鼠标器 92 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 为了能使画 图过程中的图形 轨迹呈现动态地 消失和再现变化, 必须将图片框的 DrawMode属性 设置为 7,这样 可以使得同一坐 标位置第 2次所 绘的图形能探险 第 1次所绘的图 形。 1. 键盘 2. 鼠标器 编写一个在窗体中分别用鼠标画直线、画方 块和画圆的程序。 例 8-15 6.2 键盘和鼠标器 93 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 编写一个在窗体上可用鼠标画不同线条宽度 的任意曲线程序 。 例 8-16 6.2 键盘和鼠标器 94 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 鼠标指针 鼠标指针的形状可通过 MousePointer和 MouseIcon属 性来设置。 MousePointer属性用于设置鼠标指针的形状, 运行时当鼠标经过控件区域时就会显示 MousePointer属性设置的形状。如: Form1.MousePointer=11 当 MousePointer属性设置为 99时,可以使用 MouseIcon属性来自定义鼠标指针的形状。该属 性可在设计下设置,也可在代码中设置。 6.2 键盘和鼠标器 95 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 窗体上有一个标签和一个时钟控件, 设置标签的鼠标指针形状,使鼠标指针指向标签 时显示手形指针。当单击标签时窗体中的鼠标指 针变成为系统忙指针,然后每隔一秒激发一次时 钟事件,当调用 5次时钟事件过程后停止时钟事 件,同时窗体的鼠标指针恢复为默认指针,编程 实现上述指针形状变换功能。 例 8-17 看图 6.2 键盘和鼠标器 96 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 键盘 2. 鼠标器 交换两个图片框中的图片,单击鼠标 左键时交换图片,单击右键时,清除图片框中的 图片。运行界面如图所示 例 8-18 6.2 键盘和鼠标器 97 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 2. 属性 拖放包括两个操作: 拖动 (Drag): 指按下鼠标并拖着控件移动。 放下 (Drop): 指释放鼠标键。 术语解释: 源对象: 拖放中原来位置的对象为源对象。 目标对象 :将要放下位置处的对象为目标对象。 6.3 拖放 1. 术语 3. 事件 4. 方法 98 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 属 性 (1) DragMode属性 功能:确定拖放操作方式是自动方式还是手 动方式。 0: (缺省 ),手工拖动模式 ; 1:自动拖动模式 。 (2) DragIcon属性 拖动过程中显示的图标 (.ico或 .cur文件 )。 可以在程序中用 LoadPicture()函数加载或 通过其他控件的 Picture属性赋值。 6.3 拖放 2. 属性 1. 术语 3. 事件 4. 方法 99 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 事 件 (1) DragDrop事件 当一个控件拖动到一个目标对象上时,触发 DragDrop事件 格式: Sub Object_DragDrop(Source as Control, X as Single, Y as Single) 说明: Source:指正在被拖动的控件即源对象。 X,Y:是松开鼠标键时鼠标指针在目标对象中的坐标值 6.3 拖放 2. 属性 1. 术语 3. 事件 4. 方法 100 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 (2) DragOver事件 当拖动对象越过一个控件时便触发该控件的 DragOver事件。 格式: Sub Object_DragOver(Source as Control,X as Single,Y as Single,State as Integer) 说明: Object:表示拖放操作过程中源对象所处位置下方 的控件。 Source:指正在被拖动的控件即源对象。 State:表示源对象被拖动的状态。 6.3 拖放 2. 属性 1. 术语 3. 事件 4. 方法 101 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 方 法 Drag方法 当 DragMode为 0时,需用 Drag方法启动拖放。 格式: 控件名称 .Drag 参数 说明:参数取 0、 1、 2。 0:取消拖放操作; 1(省略 ):开始拖放操作; 2:结束拖放操作。 6.3 拖放 2. 属性 1. 术语 3. 事件 4. 方法 102 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 设计一个应用程序。窗体上有三个控件, 分别是图像框 (笑脸 )控件,命令按钮 (按键 )控件 和图片框 (回收站 )控件,要求图像框和命令按钮 控件可以在窗体中随意拖动到不同的位置。当把 图像框拖到图片框 (回收站 )上释放鼠标左键时, 提示是否删除该对象,若选择删除,则窗体中图 像框消失,图片框中回收站图片改变。若将命令 按钮拖到图片框上释放鼠标左键时,提示 “ 不能 删除此对象 ” 信息。 例 8-19 看图 6.3 拖放 2. 属性 1. 术语 3. 事件 4. 方法 103 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 6.3 拖放 2. 属性 1. 术语 3. 事件 4. 方法 辽宁科技大学 电子课件 2008-3 V B 程序设计 Visual Basic Programming 105 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1.掌握模块化的程序设计方法 2.掌握过程、函数的定义和使用 3.掌握参数的传递方式,变量和过程的作用域 4.学会利用过程和函数进行程序的开发 本章学习目标 106 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 6.2 Sub过程 6.5 可选参数与可变参数 6.3 函数过程 6.4 参数的传递 6.6 递归 6.7 变量与过程的作用域 6.1 引言 107 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 1. 引例 2. 过程的定 义与使用 6.1 引言 1) 引言 在 VB中的两种过程: ( 1)由系统提供过程 系统提供的内部函数过程和事件过程。 ( 2)由用户自定义过程 用户根据实际应用的需要而自行设计的过程 ,这 样的过程称为 “ 通用过程 ” ,通用过程分为两类: 子程序过程:以 Sub保留字开始的过程; 函数过程:以 Function保留字开始的过程。 108 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 6.1 引言 1. 引例 2. 过程的定 义与使用 编写一个通用的函数过程,使其可以求任 意整型数的阶乘,即 n!,并利用这个函数过程解 决 5!+6!+7!的问题。 例 7-1 109 第六章 键盘、鼠标与绘图 辽宁科技大学 教学课件 2008-2 例 7-2 1. 引例 2. 过程的定 义与使用 6.1 引言 编写函数过程,使其可以求 e的任意次幂, 即 ex,并利用这个函数过程求解 的值。 ex =1 + x + +
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!