Visual_BASIC_PPT谭浩强第3章_第1页
Visual_BASIC_PPT谭浩强第3章_第2页
Visual_BASIC_PPT谭浩强第3章_第3页
Visual_BASIC_PPT谭浩强第3章_第4页
Visual_BASIC_PPT谭浩强第3章_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第3章窗体 3 1窗体设计举例3 2多窗体3 3属性 事件和方法的概念3 4窗体的属性3 5窗体所能识别的事件3 6窗体可以使用的方法习题 在第2章中我们初步接触到了窗体 本章将对窗体作进一步介绍 我们曾将窗体比喻为一张画纸 进入VB后 可以使用工具箱中的工具在其上进行界面设计 也可以使用窗体的属性来 装扮 窗体 如改变窗体的外观 添加丰富的色彩 装入事先准备好的图片 改变它的尺寸等等 我们先介绍窗体结构 如图3 1 窗体右上方有三个按钮 自左向右分别为 窗体最小化 按钮 窗体最大化 按钮和 关闭窗体 按钮 若单击 窗体最小化 按钮 窗体消失 可以看到窗体缩小为屏幕 的底部任务栏上的一个按钮 表示它不是当前打开的窗体 单击它可以恢复窗体 使之成为当前窗体 单击 窗体最大化 按钮可使窗体充满屏幕 此时的 窗体最大化 按钮变成两个重叠的小方块 单击它恢复原来的窗体 单击 关闭窗体 按钮可关闭窗体 此时工程窗口 见第2章图2 5 的标题栏由原来的灰色变成蓝色 表示此时它被激活 单击 工程 窗口的 查看对象 按钮 可再次打开窗体 此时窗体被激活 工程窗口的标题栏又变成灰色 表示此时它不是激活状态 暂时不可使用 图3 1 我们先通过几个例题说明窗体的使用 例3 1 设计一个程序 在窗体上画三个命令按钮 程序进入运行状态后 在窗体上装入一幅图片 当单击 窗体变大 命令按钮 窗体就变大 单击 窗体变小 按钮 窗体就变小 单击 关闭窗体 按钮 则退出 用户界面设计如图3 2 3 1窗体设计举例 图3 2 根据题目要求编写程序如下 PrivateSubForm Load Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular magichat wmf EndSubLoad是窗体所能响应的一个事件 只要启动应用程序 窗体被装入内存 就会触发Load事件 Load事件过程通常用来对属性和变量进行初始化 LoadPicture是一个函数 用来将指定的图形文件调入内存 括号中双引号里的内容是图形文件名 一般应写完整路径 LoadPicture的一般格式为 对象 Picture LoadPicture 文件名 对象指窗体 图片框 图像框等 缺省为窗体 LoadPicture 的作用是 将子目录 下的图形文件调入内存 并将此值赋给Picture属性 赋值号左侧的Picture是窗体的一个属性 在第2章中提到过 指定属性值有两种方法 一是在属性窗口中进行 二是在程序中进行 在程序中设置属性时 应指明是哪一个对象的属性 在程序中引用一个属性时 一般要在其前面加上对象名 如Command1 Caption指Command1 命令按钮 的Caption属性 如果不指定对象名 缺省 就是指当前窗体 所以这里的Picture与Form1 Picture是等价的 Picture属性的缺省值是None 没有 要想改变窗体的尺寸 需要使用窗体的另外两个属性Height和Width Height指窗体的高度 Width指窗体的宽度 单位为twip 1英寸约等于1440twip 1 窗体变小的程序程序运行后 单击一次 窗体变小 命令按钮 窗体的高和宽在原来尺寸的基础上减少500缇 再单击一次 再减少500缇 不断单击 不断递减 使窗体越变越小 相应的程序代码如下 PrivateSubcmdSamll Click Form1 Height Form1 Height 500Form1 Width Form1 Width 500EndSub程序中的Form1 Height表示窗体的高度 其中的对象名Form1可以省略 但为了增强程序的可读性 建议不要省略对象名 运行开始时若单击 窗体变小 按钮 其效果见图3 3 图3 3 2 窗体变大的程序与窗体变小的程序相反 如单击 窗体变大 按钮 窗体的Height和Width值在原有基础上加上500缇 使窗体尺寸变大 程序如下 PrivateSubcmdLarge Click Form1 Height Form1 Height 500Form1 Width Form1 Width 500EndSub若不断单击 不断递加 使窗体越变越大 注意引入图片时要写出完整路径 关闭窗体 按钮的事件过程如下 PrivateSubcmdExit Click EndEndSub程序中的 End 将结束程序的运行 例3 2 设计一个程序 当单击 改变位置 命令按钮时 使窗体的位置改变到屏幕的左上角 单击 还原 命令按钮又使它的位置还原 并在标签中显示出所在位置 用户界面设计如图3 4 图3 4 窗体窗口的背景色由属性BackColor 设置方法参阅第2章 确定 属性BorderStyle决定窗体的 边界风格 BorderStyle 它有四种选择 0 None 窗口无边界 1 FixedSingle 窗口的边界为单线条 且运行期间窗口的尺寸是固定的 即不能改变其小 2 Sizable 窗口的边界是双线条且运行期间可以改变窗口的尺寸 3 FixedDouble 窗口的边界是双线条 且运行期间不可以改变窗口的尺寸 PrivateSubForm Load Form1 Left 2000Form1 Top 2000Form1 Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular diploma wmf Label1 Caption Left的位置是 2000Top的位置是 2000 EndSub在程序开始运行时首先将2000分别赋给Left和Top两个属性 Left和Top是用来确定窗体位置的两个属性 Left是窗体左边界距屏幕左边界的距离 x轴方向 Top是窗体窗口顶部距屏幕顶部的距离 y轴方向 确定了Left和Top 也就确定了窗体在屏幕上的位置 现将窗体左上角的坐标设定在 2000 2000 的位置 然后 设置Picture属性值 用LoadPicture函数将一幅事先绘制好的图片装入窗体 最后将窗体窗口所在位置 即Top和Left属性值 显示在标签框中 标签框叠在图片当中 2 改变窗体的位置题目要求使窗体移动到不同的位置 可以用以下事件过程实现 1 初始化窗体程序运行时 首先确定窗体的位置 然后在窗体中装入一个图片 相应的事件过程如下 PrivateSubcmdChange Click Form1 Left 100Form1 Top 100Label1 Caption Left的位置是 100Top的位置是 100 EndSub只要用户单击 改变位置 命令按钮 就将窗体的位置改变到屏幕的左上角 将100赋给窗体的属性Left和Top两个属性 并把这两个值显示在标签框中 3 恢复窗体的初始位置如果要将窗体还原 只需将Top和Left属性原来的值重新置入即可 程序编写如下 PrivateSubcmdReset Click Form1 Left 2000Form1 Top 2000Label1 Caption Left的位置是 2000Top的位置是 2000 EndSub当单击 还原 命令按钮时 窗体又移回到原来位置 运行结果见图3 5和图3 6 图3 5 图3 6 3 2 1建立多窗体在实际应用中 一个窗体往往不能满足许多应用程序的要求 需要用到多个窗体 VB提供了多窗体 Multi Form 的程序设计 下面通过一个简单的例子来说明多窗体程序设计的基本思路 例3 3 设计一个程序 程序中包括两个窗体 第一个窗体中先画一个标签框 内写 动物之家 用户界面设计见图3 7 运行时 向该窗体装入一个图片 见图3 8 单击该窗体 显示第二个窗体 见图3 9 3 2多窗体 图3 7 图3 8 图3 9 建立多窗体的步骤是 1 首先建立一个窗体 在这个窗体上添加控件 并分别设置有关的属性值 再按要求编写程序 然后 选择 文件 菜单下的 Form1另存为 A 命令保存这个窗体文件 设为Form1 2 再选择 工程 菜单下的 添加新窗体 命令 则能够在同一个工程文件中再建立起一个新的窗体 设置有关属性 将这个窗体保存为另一个文件Form2 按照这种方法 能够在一个工程文件中建立多个窗体 3 选择 文件 菜单下的 工程另存为 E 命令 保存工程文件 即把Form1和Form2做为一个程序单位保存 实际上 在VB中 一个应用程序中可以包含构成这个应用程序的窗体文件 frm 标准模块文件 bas 类模块文件 cls 包含ActiveX控件的文件 ocx 等多个文件 这一系列文件的集合就是工程文件 当工程中所有部分的设计都完成后 可以把工程文件编译为可执行文件 有关生成可执行文件的问题已在第2章中介绍 此处不再赘述 从图3 7中可以注意到 窗体上的 小点 比其他例题中窗体上的要小的多 这是因为我们对它作了修改 当进入VB环境后 可以看到窗体上由许多 小点 划分成一个一个的 小格子 这些小格子被称为 栅格 我们可以改变栅格的大小 也可选择不在窗体上显示栅格 办法是单击主窗口的 工具 菜单 在其下拉菜单中选择 选项 命令 打开一个对话框 见图3 10 单击 通用 选项卡 有一个区域的标题为 窗体网格设置 就是用来修改窗体栅格大小的 显示网格 左侧有一个开关式的选择钮 在其上单击一下 出现一个 表示希望窗体上出现 小网格 再单击一下 消失 表示不希望窗体上出现 小网格 宽度 和 高度 用于指定网格的大小 我们把两个值都指定为30 如果选择了 对齐控件到网格 在窗体上拖拉控件时 至少拖拉一个栅格的长度 如果只拖拉半个栅格大小的长度 当放开鼠标左键后会自动移到一个栅格边界处 否则可以随意拖拉 不受栅格影响 经过上述设置的值一直有效 即使再次进入VB或下次开机也仍然有效 除非再次作修改 图3 10 现在有两个窗体 运行时如何进行切换呢 请看下面过程 1 每个Form装载一个图片 Form1及Form2的装载事件过程如下 PrivateSubForm Load Form1 Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular door wmf EndSubPrivateSubForm Load Form2 Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart popular lion wmf EndSub 2 用户单击窗体 就触发了Form1的Form Click事件过程 执行过程中的语句 第一行是将Form1隐藏起来 第二行是显示Form2 PrivateSubForm Click Form1 HideForm2 ShowEndSubHide和Show是在多窗体程序设计中使用的两个方法 Hide方法 是将窗体隐藏起来 即不在屏幕上显示 它的一般格式为 窗体名 Hide 如果不指定窗体名称 缺省 即为当前窗体 Show方法 是将窗体显示在屏幕上 它的一般格式为 窗体名 Show如果不指定窗体名称 缺省 显示当前窗体 3 单击第二个窗体 则应显示Form1 隐藏Form2 在Form2的代码窗口中编写过程如下 PrivateSubForm Click Form1 ShowForm2 HideEndSub 从表面上看 这个过程和前面一个过程的名字都是Form Click 会不会出现混乱呢 不会的 因为过程代码是从属于窗体的 在Form1中的代码窗口中编写前一个Form Click过程 它只响应对Form1的单击事件 在Form2中的代码窗口中编写另一个Form Click过程 它只响应对Form2的单击事件 开始运行程序时 先执行第一个窗体的Form Load事件过程 显示Form1 窗体上显示出一幅 门 的图片 单击Form1 Form1立即消失 执行Form2 Show 这时首先将Form2装入 触发第二个窗体的Form Load事件过程 装入图形 然后显示出Form2 其上是一幅 狮子 的图片 结果见图3 8和图3 9 3 2 2设置启动窗体在多窗体情况下 如果没有特别的设定 应用程序的第一个窗体默认为启动窗体 也就是当应用程序开始运行时 先运行这个窗体 如果要改变系统默认的启动窗体 要通过 工程属性 的设置进行调整 方法是 在 工程 菜单中选择 属性 命令 出现图3 11 在所显示的对话框中的 通用 选项卡中 选择新的 启动对象 单击 确定 按钮后 将以新设定的窗体为启动窗体 图3 11 3 3属性 事件和方法的概念在本书前面的叙述中 已经初步接触到了对象的属性 事件和方法 属性 事件和方法是VisualBASIC中最基本的和十分重要的概念 在每一个程序中 都需要用到它们 在读者已对它们有初步接触之后 我们在此对它们做简单的归纳 3 3 1属性 Property 属性用来表示对象的特性 每一种对象所具有的属性是不同的 千万不要混淆 例如 窗体有Picture属性 而文本框和命令框则无Picture属性 文本框有Text属性 而无Caption属性 而命令按钮则无Text属性而有Caption属性 对属性值的设置 可以有两种方法 1 在设计阶段 选中一个对象后立即从窗体右侧的属性窗口中的属性表中找到所需要的属性行 然后从键盘输入该属性的值 或者用鼠标从系统给出的几种可能值之中选其中之一 需要提醒的是 不少初学者常常犯这样的错误 本想为A对象设置属性 结果却在B对象的属性表中进行操作 真是 张冠李戴 原因是 未选定对象或对象改变了而未发现 应该注意 必须先将所指定的对象激活 在该控件中应该出现8个小黑块 在此时 窗体右侧所显示的属性表才是该对象的属性表 如果对象未被激活 则显示出来的属性表必然不是该对象的 2 可以在运行阶段 由程序改变属性的值 其一般形式为 对象名 属性名 属性值例如 Form1 Caption VisualBasic 注意一定要弄清楚给哪一个对象的属性赋值 不要写错对象名 如果省略对象名则隐含指窗体 例如 Caption VB 则在当前窗体的标题栏处出现 VB 字样 一般不必对全部属性的值一一设置 实际上对多数属性均采用系统提供的隐含值 只有在隐含值不满足要求时才自己指定所需的值 3 3 2事件 Event 在前面我们已初步接触了 事件 这个概念 一个VB程序包含若干个过程 它不同于传统的面向过程的计算机高级语言 传统的高级语言程序由一个主程序和若干个过程和函数组成 程序运行时总是从主程序开始 由主程序调用各过程和函数 程序设计者在编写程序时必须将整个程序的执行顺序十分精确地设计好 然后程序按指定的过程执行 因此 这种语言称为面向过程的语言 VB程序没有传统意义上的主程序 在VB中 子程序称为过程 VB中有两类过程 事件过程和通用过程 此外还有函数 程序的运行并不要求从主程序开始 每个事件过程都由相应的 事件 触发而执行 各事件的发生顺序是任意的 这样就使编程序的工作变得比较简单了 人们只需针对一个事件编写出一段过程即可 VB中所指的 事件 是指由系统事先设定的 能为对象识别和响应的动作 每一种对象能识别 通俗地说是 能感受 的事件是不同的 例如窗体能识别单击和双击事件 而命令按钮能识别单击却不能识别双击事件 每一种对象所能识别的事件在设计阶段可以从该对象的代码窗口中右边过程框中的下拉列表中看出 如图3 12右侧表示的是窗体对象 Form 所能识别的事件 尽管每一种对象所支持的事件很多 但实际上 一个程序中往往只用到其中几种 可根据实际需要选定 例如 用户只要求在单击窗体时 在窗体中显示一句话 那么只用到窗体的单击事件 只需编写窗体的 单击事件过程 即可 对其他的事件可以置之不理 图3 12 3 3 3方法 Method 在前面的例子中已接触到 方法 Hide和Show都是 方法 方法 是VB中的一个术语 所谓 方法 实际上是VB提供的一种特殊的子程序 用来完成一定的操作 例如Print是一种方法 是用来输出信息的专用过程 调用 方法 的形式与调用一般的过程或函数不同 应该指明是哪个对象调用的 其调用格式如下 对象名 方法名例如 Form1 Hide表示由Form1对象调用Hide这个方法 其执行结果是将窗体Form1隐藏起来 如写成Form2 Hide 则将窗体Form2隐藏起来 同样 Print VisualBasic 的作用是显示字符串 VisualBasic 如写Form1 Print VisualBasic 则将该字符串显示在Form1窗体内 如写成Printer Print VisualBasic 则在打印机上打印出该字符串 如果省略对象名 则隐含指当前对象 如在Form1 Click事件过程中有以下的方法调用 Hide则隐含代表Form1 Hide 执行此 方法 后将窗体Form1隐藏起来 如果在Text1 Click过程中有 Print VB 由于文本框不支持Print方法 故将 VB 输出在窗体上 为了清晰和不致搞混 最好都在 方法名 之前加上 对象名 为好 每一种对象所能调用的 方法 是不同的 请仔细区分属性 事件和方法三者的含义和用法 属性和方法的用法在形式上有些类似 即 对象名 属性名对象名 方法名但是 对象名 方法名 可以单独作为一个语句 它是过程调用 如Form1 Hide是一个完整的语句 而 对象名 属性名 只是引用了一个对象的属性 它不是一个完整的语句 只是语句的一个组成部分 如 Form1 Caption VB 将 VB 赋给Form1的Caption属性 Form1 Caption不能成为一个单独的语句 属性名一般是名词 Caption Text Font Widht Heihgt等 方法名一般是动词如print Move Hide Show等 事件名也是动词 如Click Load等 但事件名不能出现在语句中 它只能出现在事件过程的名字中 如Form Click Form Load等 为了便于理解 我们将对象的属性 事件和方法这些重要而往往难以理解的概念 结合具体例子放在本章中介绍 而没有放在本书的开头抽象地介绍 它们的概念 读者通过前面的学习初步接触了VB程序设计之后 对这些概念就不难理解了 在本书中不可能逐一介绍每种属性 事件和方法的特性及其应用 只能从中选择一些常用的 举例说明它们的用法 读者在今后实际使用时可以举一反三 查阅有关使用说明并上机试一下 应该是比较容易掌握的 3 4窗体的属性除了在第2章和上一节的例题中用到的窗体属性外 窗体的常用属性还有 ControlBox属性 用来设置窗体窗口是否包含 关闭窗体 的功能 如果属性值为True 窗体左上角可以出现一个下拉控制框 右上角显示 关闭窗体 按钮 如果属性值为False 则窗体左上角不出现控制框 右上角的 关闭窗体 按钮成灰色 不可用 DrawStyle属性 用于设置线条的类型 它有七个可选值 0 Sold 实线 1 Dash 虚线 2 Dot 点线 3 Dash Dot 点划线 4 Dash Dot Dot 双点划线 5 Transparent 透明线 6 InsideSolid 内实线 DrawWidth属性 用来设置线条的宽度 缺省值为1 Enabled属性 用来设置窗体是否响应鼠标或键盘事件 True 窗体响应鼠标或键盘事件 缺省值 False 窗体不响应鼠标或键盘事件 FillColor属性 用来设置图形的填充色 FillStyle属性 用来设置图形的填充方式 有八个可选值 0 Solid 实心 1 Transparent 透明 2 HorizontalLine 水平线 3 VerticalLine 垂直线 4 UpwardDiagonal 右对角斜线 5 DownwardDiagonal 左对角斜线 6 Cross 十字交叉线 7 DiagonalCross 对角交叉线 MaxButton和MinButton属性 用来设置窗体的右 上角是否显示 最大化 按钮和 最小化 按钮 如果希望显示这两个按钮并使之可用 应把这两个属性值设为True 如其中一个属性为False 则显示出该按钮 但成灰色 不能使用 这两个属性在运行开始时才起作用 在运行之前 即使该二属性都设为False 但该二按钮并不消失 Visible属性 用来设置窗体是否可见 它有两个值可供选择 True 窗体可见 False 窗体不可见 3 5窗体所能识别的事件除了在以上例题中使用过的事件外 与窗体有关的还有如下几种常用事件 3 5 1鼠标事件当在窗体上进行鼠标移动 MouseMove 按下鼠标键 MouseDown 释放鼠标键 MouseUp 单击 Click 双击 DoubleClick 等操作时 会触发相应的鼠标事件 1 MouseDown事件 用户按下鼠标键就会触发MouseDown事件 例如 PrivateSubForm MouseDown ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle Print 这是MouseDown事件 EndSub启动程序后 如果在窗体上按下鼠标左键或右键 就会在窗体上显示出字符串 这是MouseDown事件 2 MouseUp事件 用户释放鼠标键就会触发MouseUp事件 例如 PrivateSubForm MouseUp ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle Print 这是MouseUp事件 Printx yEndSub需要特别注意的是当进行某些鼠标操作时 往往触发不止一个鼠标事件 例如 在窗体上按下鼠标键后再释放 就会在窗体中先显示出字符串 这是MouseDown事件 然后再显示出字符串 这是MouseUp事件 并显示出当前鼠标的位置 这是因为先后触发了MouseDown和MouseUp两个事件 单击事件包含了MouseDown MouseUp和Click 三个事件 大家在设计应用程序时 一定要注意这个问题 不要在同一个程序中 重复为不同的鼠标事件设计多个程序 以免发生混乱 3 MouseMove事件 用户移动鼠标键就会触发MouseMove事件 MouseMove是窗体所能识别的几个鼠标事件之一 当程序进入运行状态后 只要用户在窗体内移动鼠标 就发生MouseMove事件 窗体立即响应此事件 执行Form MouseMove过程中的语句 例3 4 设计一个程序 在窗体上添加四个图像框 当用户在窗体上移动鼠标 四个图形文件的图形就会装入图像框 窗体设计见图3 13 图3 13 关于图像框将在第8章中介绍 在此 读者只要知道它是用来装载图形文件的控件即可 编写程序如下 PrivateSubForm MouseMove ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle Image1 Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular door wmf Image2 Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular building wmf Image3 Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular brick wmf Image4 Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular hatecomp wmf EndSub这里的picture是图形框控件的一个属性 作用与窗体的Picture属性相似 当用户在窗体内移动鼠标 就发生MouseMove事件 执行Form MouseMove过程中的语句 将四个图形文件分别装入四个图像框中 运行结果见图3 14 图3 14 在以上过程的第一行上括弧中包括形参说明 ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle 这是系统自动设置的 用户一般可以不必理会 我们也可以将程序的功能改为 若将鼠标在第一个图像框移动 就在第一个框中出现一个图形 在第二个框中移动时 在第二个框内装入图形 由于图像框也能识别MouseMove事件 因此 可以修改以上事件过程如下 这里只给出图像框1和图像框2的事件过程 PrivateSubImage1 MouseMove ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle Image1 Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular door wmf EndSubPrivateSubImage2 MouseMove ButtonAsInteger ShiftAsInteger XAsSingle YAsSingle Image2 Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular building wmf EndSub 4 DblClick事件 用户在窗体上快速击两下鼠标按钮时 产生DblClick 双击 事件 3 5 2键盘事件 1 KeyDown事件 用户按下键盘上某个键时产生此事件 例如 PrivateSubForm KeyDown KeyCodeAsInteger ShiftAsInteger Circle 400 500 200EndSub 执行以上过程 当按下键盘某个键时 在窗体的 400 500 处画出一个半径为200的圆 2 KeyUp事件 用户按下键盘上某个键后释放时产生此事件 例如 PrivateSubForm KeyUp KeyCodeAsInteger ShiftAsInteger Circle 2000 3000 500EndSub运行时 当按下并释放键盘某个键时 在窗体的 2000 3000 处画出一个半径为500的圆 3 KeyPress事件 用户敲击键盘触发KeyPress事件 例如 PrivateSubForm KeyPress KeyAsciiAsInteger PrintKeyAsciiEndSub执行以上过程 如果用户按 a 键就会触发KeyPress事件 在窗体上显示出所按的 a 的ASCII码97 如同时按shift和 a 在窗体上显示出大写 A 的ASCII码65 3 5 3其他事件Unload事件 运行程序后 如果关闭窗体 触发Unload事件 例如 窗体1的Unload事件过程如下 PrivateSubForm Unload CancelAsInteger Form2 ShowEndSub程序开始运行后 单击窗体窗口 Form1 右上角的 关闭窗体 按钮 在关闭窗体的时候触发Form Unload事件 执行Form Unload过程 显示窗体2 Form2 过程中的参数Cancel为0时 表示已关闭窗体 不为0时 表示未关闭窗体 执行 Form2 Show时先装入窗体Form2 触发窗体Form2的Load事件 可以使之执行下面的过程 将 building wmf 图形文件装入窗体 过程如下 PrivateSubForm Load Picture LoadPicture C ProgramFiles MicrosoftOffice Clipart Popular building wmf EndSub此外还有拖放事件DragDrop和DragOver等 不再详细描述 读者可以参阅有关的手册 3 6窗体可以使用的方法在前面的例子中已用到了VB提供的一些方法 如Print Hide Show等 所谓方法实际上是VB提供的特殊的过程 在窗体操作中可以使用以下方法 1 Cls方法 此方法用来清除由Print方法在窗体或图片框中显示的文本或使用作图

温馨提示

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

评论

0/150

提交评论