VB程序设计第1章实例
更新时间:2024-05-11 02:26:01 阅读量: 综合文库 文档下载
第1章 Visual Basic程序设计概述 【内容概要】
Visual Basic是一种面向对象的可视化程序设计语言,是目前在Windows操作平台上广泛使用的Windows应用程序开发工具。本章主要介绍了Visual Basic的发展和特点、Visual Basic的安装、启动和退出、Visual Basic的集成开发环境、面向对象程序设计方法、对象的概念、Visual Basic应用程序的创建与管理、窗体与基本控件。 【基础知识】
? Visual Basic的发展和特点
? Visual Basic的安装、启动和退出 ? ? ? 【重点知识】
? ? ? 面向对象程序设计方法 对象的概念
属性、事件和方法
Visual Basic的集成开发环境
Visual Basic应用程序的创建与管理 窗体与基本控件
1.1 初步认识Visual Basic开发环境
实例1.1 设计一个在窗体上显示文字信息的应用程序。
图1.1 Visual Basic 6.0的标题栏
【实例说明】
(1)程序只有一个窗体。
(2)单击窗体时,在窗体上显示文字“欢迎进入Visual Basic的精彩世界!”。 (3)运行后界面如图1.1所示。 【实例分析】
通过本实例的设计,了解Visual Basic的特点,掌握其开发环境和程序设计步骤。 1.2 Visual Basic的发展和特点 1.2.1 Visual Basic的发展
Visual Basic是由微软公司推出的一套完整的Windows系统软件开发工具,可用于开发Windows环境下的各类应用程序,是一种可视化、面向对象、采用事件驱动方式的结构化高级程序设计语言和工具的完美集成。它编程简单、方便、功能强大,具有与其它语言及环境的良好接口,是目前最通用、最易于使用的程序设计语言之一。
Visual 意即可视的、可见的,指的是开发像Windows操作系统的图形用户界面(Graphic User Interface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。
Basic 实际上是一个短语的缩写,即Beginners All-purpose Symbolic Instruction Code,其中文意思为“初始者通用符号指令代码”,是一种简单易学而又创造了很多奇迹的计算机编程语言。
Visual Basic是在BASIC的基础上发展起来的,它继承了BASIC的优点,也融合了许多程序设计的新思想和新技术,对BASIC进行了充分的扩展和扩充。(几个Basic要一致)
Visual Basic发展至今经历了很多版本更新,目前最为流行的是Visual Basic 6.0和Visual Basic.NET,两者核心技术不同,前者是运行于基于COM组件之上的编程环境,后者是基于.NET Framework之上面向对象的中间解释性语言。
Visual Basic 6.0包括学习版、专业版和企业版三个版本,它们是在相同的基础上建立起来的,大部分应用程序在三种版本中可以通用,三个版本分别适用于不同的用户层次。
? 学习版。又称标准版,是Visual Basic的基础版本,主要针对初学者学习和使用。
该版本包括所有的内部控件以及网格、数据绑定等控件。
? 专业版。为专业编程人员提供一整套功能完备的开发工具。该版本包括学习版的
全部功能以及ActiveX控件、Internet控件、集成的Visual Database Tools、Data
Environment、Active Data Objects和Dynamic HTML Page Designer等高级特性。 ? 企业版。Visual Basic的最高版本,使得专业编程人员能够开发功能强大的组内分
布式应用程序。该版本包括专业版的全部功能以及Back Office工具。 (不用项目符号,还是用(1)(2)(3)描述)
本书主要针对Visual Basic 6.0中文企业版进行介绍。 1.2.2 Visual Basic的特点
Visual Basic 6.0采用可视化的图形用户界面、面向对象的程序设计思想、事件驱动的编程机制和结构化高级程序设计语言,开发Windows环境下功能强大、图形界面丰富的各类应用程序,其操作简单、快捷、高效。概括起来,主要有以下特点:
1. 可视化的集成开发环境
“Visual”指的是开发图形用户界面的方法。它不需编写大量代码去描述界面元素的外观和位置,只要把预先建立的对象添加到屏幕相对应的位置上,Visual Basic即可自动生成界面设计的代码。
集成开发环境(Intergrated Development Environment,IDE)是指一个集设计、运行和测试应用程序为一体的环境。
Visual Basic 6.0采用可视化的集成开发环境大大提高了程序设计的效率。 实例1.1即为利用该集成开发环境设计了一个窗体界面。 2. 面向对象的程序设计思想
面向对象的程序设计方法(Object Oriented Programming,OPP)是伴随Windows图形界面的诞生而产生的一种新的程序设计方法。它把程序和数据“封装”起来成为一个对象,并为每个对象赋予相应的属性,使其成为真实存在的东西。开发人员只需按设计要求的屏幕布局,用系统提供的工具,直接在屏幕上“画”出对象,Visual Basic会自动生成对象的程序代码并封装起来。
实例1.1中的窗体即为一个对象。 3. 事件驱动的编程机制
Visual Basic通过事件来执行对象的操作。对象与程序代码通过事件及事件过程来联系。一个对象可能会产生多个不同类型的事件,每个事件都可以通过一段程序(称为“事件过程”)来响应,从而实现一个预编程的功能。例如,命令按钮是一个对象,当用户单击按钮时,将产生(或称“触发”)一个“单击”(Click)事件,该事件发生时,系统将自动执行相应的事件过程,用来实现指定的功能。如实例1.1中单击窗体即可在窗体上显示文字信息,即是发生了窗体的单击事件。
一个Visual Basic程序包含若干个过程,它没有传统意义上的主程序概念,开发人员只需针对不同的对象编写它们的事件过程。每个事件过程是相互独立的,事件过程的执行与否以及执行顺序取决于用户操作时所触发的事件(称为“事件驱动”),若用户未触发任何事件,则系统处于等待状态。
4. 结构化程序设计语言
Visual Basic具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式,其语句简单易懂,Visual Basic的编程器支持彩色代码,可自动进行语言检查,同时还具有功能强大且使用灵活的调试器和编译器。
5. 强大的数据库管理功能
Visual Basic提供了强大的数据库管理和存取操作的能力。利用数据控件和数据库管理窗口,能直接编辑和访问Access、dBASE、FoxPro、Paradox等数据库,Visual Basic提供的开放式数据连接接口(Open Data Base Connectivity,ODBC),可以通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server、Oracle等。
例如,可使用Visual Basic与学生数据库相关联,管理学生信息。或与图书数据库相关联,管理图书信息。等等。
6. 高度的可扩充性
Visual Basic为用户扩充功能提供了各种途径,主要表现在:
(1)支持第三方软件商为其开发的可视化控件对象。这些可视化控件对应的文件扩展名为OCX,只要拥有控件的OCX文件,就可将其加入到Visual Basic系统中,从而大大增强了Visual Basic的编程能力。
(2)支持访问动态链接库(Dynamic Link Library,DLL)。Visual Basic对访问机器硬件的操作不易实现,但它可以通过动态链接库技术将C/C++或汇编语言编写的程序添加到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。
(3)支持访问应用程序接口(Application Program Interface,API)。应用程序接口是Windows环境中可供任何Windows应用程序访问和调用的一组函数集合。Microsoft为Windows操作系统提供了许多API函数,供开发人员编程时直接调用。Visual Basic利用这些API函数可实现一些用Visual Basic语言本身不能实现的特殊功能。
7. 支持动态数据交换
利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序可以交换数据,进行通信。Visual Basic提供了动态数据交换技术,可在应用程序中实现与其他Windows应用程序的动态数据交换,从而实现不同应用程序之间的通信。
8. 支持对象的链接与嵌入
对象链接与嵌入(Object Linking and Embedding,OLE)技术是一种应用程序一体化的技术。OLE技术将每个应用程序都看做一个对象,将不同的对象链接起来,再嵌入到某个应用程序中,从而使Visual Basic能够开发集声音、图像、动画、字处理、Web等对象于一体的应用程序。
例如,可在Visual Basic设计的窗体中嵌入Word文档对象、Excel工作簿对象、图片对象等等。
1.3 Visual Basic的安装、启动和退出 1.3.1 Visual Basic的安装
Visual Basic 6.0 系统程序在安装前必须满足运行环境要求,硬件和软件两个方面:(不通顺)
硬件要求:586以上CPU,16MB以上内存,CD-ROM驱动器,鼠标等。 软件要求:Windows95/98/2000/XP或Windows NT操作系统。
Visual Basic 6.0的安装过程与Windows环境下其他应用软件的安装方法相似。Visual Basic 6.0的安装盘有两种,一种是独立发行的一张CD光盘,另一种是包含在Visual Studio 6.0组件中。两种安装盘下都带有Visual Basic 6.0的安装程序(名为Setup.exe),运行安装程序,按照安装向导提示逐步完成即可。
Visual Basic 6.0的安装方式有三种:
典型安装:包含了Visual Basic 6.0的一些常用组件。 自定义安装:用户可根据需要选择要安装的组件。 最小安装:仅包含Visual Basic 6.0的一些必需组件。
在Visual Basic 6.0的安装过程中系统会提示插入MSDN盘,MSDN是Visual Studio 6.0组件的帮助集合,与Visual Basic 6.0不在同一张盘上,需要单独安装。 1.3.2 Visual Basic的启动
Visual Basic 6.0安装成功后,便可启动运行了,其运行方法和Windows下一般应用程
序一样。单击“开始”→“程序”→“Microsoft Visual Basic 6.0中文版” →“Microsoft Visual Basic 6.0中文版”选项,即可启动Visual Basic 6.0中文版。
启动Visual Basic 6.0后,作为默认方式,系统会首先弹出“新建工程”对话框,如图1.2所示。
图1.2 “新建工程”对话框
在对话框中有三个选项卡:
新建:列出了可以创建的应用程序类型,默认类型为“标准EXE”。 现存:选择和打开已经存在的工程。 最新:列出最近使用过的工程。 单击“打开”按钮,即可创建一个默认的“标准EXE”类型的应用程序,进入Visual Basic 6.0集成开发环境,如图1.3所示。
标题栏 菜单栏 工具栏 工具箱 窗体窗口
工程窗口
代码窗口
属性窗口
窗体布
立即窗口
局窗口
图1.3 Visual Basic 6.0集成开发环境
实例1.1中,第一步就是启动Visual Basic 6.0,在“新建工程”对话框中选择“标
准EXE”类型,即会生成一个窗体窗口,进入集成开发环境中。 1.3.3 Visual Basic的退出
如果要退出Visual Basic,选择“文件”→“退出”菜单项或者单击主窗口右上角的“关闭”按钮。Visual Basic自动判断用户是否对工程做了修改,如果已修改但尚未保存,则会弹出对话框询问是否存盘,用户根据实际情况选择存盘或不存盘直接退出。 1.4 Visual Basic的集成开发环境
Visual Basic 6.0的主用户界面由标题栏、菜单栏、工具栏、工具箱、窗体窗口、工程资源管理器、窗体布局窗口、属性窗口等组成,如图1.3所示,下面对其中主要的窗口进行介绍。
1. 标题栏
标题栏位于主窗口顶部,显示的标题信息为“工程1-Microsoft Visual Basic[设计]”,如图1.4所示,方括号中的“设计”表明当前工作模式为设计模式,工作模式发生改变,方括号中的文字也会作相应的变化。标题栏最左端是控制菜单图标,右端是窗口最小化、最大化和关闭按钮。
图1.4 Visual Basic 6.0的标题栏
Visual Basic有三种工作模式:
设计模式:可进行应用程序界面的设计和代码的编写。 运行模式:运行应用程序,不可改变应用程序界面和代码。
中断模式:应用程序的运行状态暂时停止,不可改变应用程序界面,但可以编辑代码。 三种工作模式可通过“运行”菜单下的“启动”、“中断”、“结束”菜单项进行转换。 2. 菜单栏
Visual Basic 6.0集成开发环境提供的所有命令功能都包含在菜单栏中,共13个下拉菜单。除了提供标准的“文件”、“编辑”、“视图”、“窗口”、“帮助”菜单外,还提供了开发程序专用的功能菜单,如“工程”、“格式”、“调试”等。表1.1简要介绍了各个菜单的功能。
表1.1 菜单功能表 菜单 文件 编辑 视图
功能
用于建立和处理文件。包括新建、打开、添加、保存工程以及打印、生成可执行文件、退出等命令。
包含一般文本的各种编辑功能,如剪切、复制、粘贴、查找等。
用于切换Visual Basic 6.0窗口的视图格式,便于用户使用集成开发环境。包括显示和隐藏集成开发环境的各种窗口,以及操作构成应用程序的各种对象和控件。
用于管理当前工程。包括添加删除各种工程组件,显示当前工程的结果和内容等命令。
主要用于编辑窗体上可视控件的格式,包括对齐、尺寸、间距、锁定等。 用于调试程序,包括设置运行方式、断点、监视器等。
用于在集成开发环境中运行程序。包括启动、全编译执行、中断、结束、重新启动等命令。
用于执行与数据库有关的查询操作。 用于执行与图表有关的操作。
用于添加菜单或各种工具栏,如过程控制、菜单设计器、工程和环境等。 用于添加和删除能与Visual Basic 6.0协调工作的外接程序。如可加入数据库
工程 格式 调试 运行 查询 图表 工具 外接程序
窗口 帮助
管理器、报表设计器等工具。
用于调整各种类型的子窗口在主窗口中的排列方式。
用于启动Visual Basic 6.0的联机帮助系统,获取帮助信息。
3. 工具栏
工具栏为菜单栏中的常用命令提供了操作的快捷方式,使用工具栏可以大大提高工作效率。默认情况下,屏幕上显示的是“标准”工具栏,如图1.5所示。除此以外,还有编辑工具栏、窗体编辑器工具栏和调试工具栏等。
图1.5 Visual Basic 6.0的标题栏
工具栏可以显示也可以隐藏,方法是:选择“视图”→“工具栏”菜单项。
工具栏的右侧还有两栏,分别用来显示窗体的当前位置和大小,其单位为Twip(缇,1英寸=1400缇)。
4. 工具箱
工具箱位于窗体的左侧,它提供了一组工具,用于设计界面时在窗体中放置控件。工具箱中的工具分为两类:一类是内部控件或标准控件,默认情况下显示的是标准控件,如图1.6所示;另一类是ActiveX控件,只有将其添加到工具箱后才可以使用。
指针 标签 框架 复选框 组合框 水平滚动条
计时器 目录列表框
形状 图像框
对象链接与嵌入
图片框 文本框 命令按钮 单选按钮 列表框 垂直滚动条 驱动器列表框 文件列表框 直线 数据控件
图1.6 工具箱
标准控件中除指针外,每个工具图标代表可在窗体上设计的一种控件,共20个。 【提示】
通过单击“工程”→“部件”命令,可以将在Windows中注册过的ActiveX控件放置到工具箱窗口。
表1.2列出了工具箱中各标准控件的名称、对应的按钮形式及其功能简介。
表1.2 标准控件功能一览表 图标
名称
功能简介
指针 Point 图片框 PictureBox 标签 Label 文本框 TextBox 框架 Frame 命令按钮
CommandButton 复选框 CheckBox 单选按钮 OptionButton 组合框 ComboBox 列表框 ListBox 水平滚动条 HscrollBar 垂直滚动条 VscrollBar 定时器 Timer
驱动器列表框 DriveListBox 目录列表框 DirListBox 文件列表框 FileListBox 形状 Shape 直线 Line 图像框 Image 数据控件 Data
OLE容器 OLE
选择其他控件或对象。当选择了其他控件后,如果想恢复鼠标指针的形状,就可以选择指针工具
用于显示图像,可包含图片和文本,也可作为其他控件的容器 用于显示文本信息,但不能输入文本 用于输入或显示文本
用于对控件分组,可作为容器显示其他控件 用于创建命令按钮,可向应用程序发出指令 用于选项的选择,可多重选择
表示选项的开关状态,可进行一组中的单项选择
为用户提供可选择的列表,并允许用户自行输入选择项,是文本框和列表框的组合
用于显示可供用户选择的固定列表
用于一定范围内的数值选择或当前位置的表示 用于一定范围内的数值选择或当前位置的表示
用于定时处理某些操作,即在指定时间间隔内产生Timer事件 用于显示当前有效的磁盘驱动器 用于显示当前驱动器上的目录和路径 用于显示指定目录下的文件列表
用于绘制多种形状的图形,包括矩形、正方形、椭圆、圆形等 用于在窗体上绘制各种样式的直线 用于显示图像,但不能作为控件的容器 通过窗体上被绑定的控件来访问数据库中的数据 允许将可插入的对象添加到应用程序的窗体中
实例1.1中没有使用工具箱中的控件。 5. 窗体设计窗口
窗体设计窗口是用来设计应用程序界面的,是应用程序最终面向用户的窗体,如图1.7所示。
图1.7 窗体设计窗口
当新建一个工程时,Visual Basic 6.0进入设计模式,自动建立一个窗体,命名为Form1。用户可在应用程序中建立多个窗体,依次命名为Form1、Form2、Form3??,每个窗体都有自己的设计窗口。
实例1.1中的窗体名称是Form1。
在设计应用程序时,窗体就像一块画布,用户可以使用各种控件组合来设计用户界面,应用程序的运行结果、图形、数据等都可以通过窗体或窗体上的控件显示出来。
【提示】
窗体上布满用来对齐控件的网格
对象列表框
点,网格点是否显示以及网格点的间
属性显示排列方式 距可以通过“工具”菜单中的“选项”
命令设置,在弹出的“选项”对话框中选择“通用”选项卡,在“窗体网格设置”中更改内容。
6. 属性窗口
属性是描述对象特征的参数,如属性列表框 大小、颜色、位置、字体等。属性窗口用来设置对象的属性,如图1.8所示。
属性窗口由对象列表框、属性显示排列方式、属性列表框、属性解释框组成。
对象列表框:当前窗体所包含对象的列表。选择一个对象,属性列表
属性含义说明
框将显示该对象的属性。
属性显示排列方式:有“按字母
图1.8 属性窗口
序”和“按分类序”两个标签,属性可以按字母顺序和分类顺序另种方式排列。默认显示是“按字母序”排列。
属性列表框:该列表框显示在设计模式下被选定对象可更改的属性及缺省值,不同对象的属性不相同。属性列表框分左右两列,左列是对象的属性名,右列是对应属性值。用户可以对某一属性值进行设置或修改。
属性解释框:在属性列表框选定某一属性后,解释框显示所选属性的含义。 图1.8显示的即是实例1.1中窗体Form1的属性窗口,其属性均为默认值,没有进行设置更改。
7. 代码窗口
Visual Basic 6.0的程序代码是针对某个对象事件而编写的,每个事件对应一个事件过程。Visual Basic 6.0为程序代码的编写提供了专门的编辑窗口,即代码窗口,如图1.9所示。
对象列表框 过程列表框
代码区
过程查看
全模块查看
图1.9 代码窗口
代码窗口主要包括:
对象列表框:显示窗体中选定对象的名称。单击列表框右侧的下三角按钮,将显示当前窗体及窗体中所有对象名,而窗体的对象名总是Form。其中,“通用”表示与特定对象无关的通用代码,一般在此声明模块级变量或用户编写的自定义过程。
过程列表框:显示“对象列表框”中选定的对象所包含的事件过程名称。在“对象列表框”中选定对象,再在“过程列表框”中选定事件过程名称,代码区将自动生成所选对象的事件过程模板,用户在该模板内输入程序代码。
代码区:用来输入和编辑程序代码。 “过程查看”按钮和“全模块查看”按钮:用于切换代码窗口的两种查看视图。单击“过程查看”按钮,每次只能查看一个过程;单击“全模块查看”按钮,查看应用程序中的所有过程。
实例1.1的代码窗口中进行编程,对象列表框选择Form窗体,过程列表框选择Click事件,在产生的过程模块中写入显示文字信息的代码,如下所示:
Private Sub Form_Click() Print \欢迎进入Visual Basic的精彩世界!\End Sub
单击“运行”→“启动”菜单命令,Visual Basic进入运行模式,在窗体界面单击鼠标,触发Form_Click()事件,窗体上显示文字“欢迎进入Visual Basic的精彩世界!”。
【提示】
代码区的代码设置和格式可以通过单击“工具”→“选项”菜单项进行设置,在弹出的“选项”对话框中选择“编辑器”选项卡,对代码设置进行改变,使代码的编写工作更加方便;“编辑器格式”选项卡,对代码格式进行设置。
8. 工程资源管理器窗口
Visual Basic 6.0把开发一个应用程序视为一项工程,用创建工程的方法来创建一个应用程序。工程资源管理器窗口主要用来帮助用户管理整个工程以及工程内包含的每个文件资源,如图1.10所示。
查看代码 切换文件夹 查看对象
图1.10 工程资源管理器窗口
工程资源管理器窗口显示了正在运行的应用程序所包含的所有文件清单。标题栏显示的是工程文件名,其下方有三个按钮,分别是“查看代码”、“查看对象”、“切换文件夹”:
“查看代码”按钮:切换到代码窗口,显示和编辑程序代码。 “查看对象”按钮:切换到窗体窗口,显示和设计窗体界面。 “切换文件夹”按钮:切换文件夹显示方式。
该窗口显示的工程内所有文件以类别按层次结构图的方式显示,单击“+”符号,可展开层次,单击“-”符号,可折叠文件夹,双击窗体文件名可打开该窗体。
实例1.1的工程资源管理器中包括两个文件,一个工程文件“工程1.vbp”和一个窗体文件“Form1.frm”。
对应用程序存盘,必须把工程中包含的所有文件存盘。单击“文件”→“保存工程”命令,确定路径和工程文件名,即可保存工程文件;同样,单击“文件”→“保存Form1”命令,确定路径和窗体文件名,即可保存窗体文件。
【提示】
工程中的文件可分为很多种,主要包括工程文件(.vbp)、工程组文件(.vbg)、窗体文件(.frm)、窗体的二进制数据文件(.frx)、标准模块文件(.bas)、类模块文件(.cls)和资源文件(.res)等等。
9. 窗体布局窗口
窗体布局窗口用来指定应用程序运行时窗体的初始位置,如图1.11所示。在窗体布局窗口内,有一个虚拟显示器屏幕,屏幕上有当前窗体的大小和位置的一个镜像,直接利用鼠标拖动即可调整窗体在屏幕上的位置,当程序运行时,该窗体就会显示在真实屏幕的对应位置。
图1.11 窗体布局窗口 图1.12 立即窗口
10. 立即窗口
在集成开发环境中程序运行或调试时,即会出现立即窗口,如图1.12所示。用户可直接在立即窗口中用Print方法或直接在程序中用Debug.Print方法显示表达式的值。
1.5 面向对象程序设计方法(这部分写的太抽象,不好理解,能否简单写,每个概念举例说明)
面向对象程序设计(OOP)方法源于20世纪70年代中后期,在20世纪80年代逐步代替了传统的结构化程序设计(SP)方法,成为最重要的方法之一,至今OOP方法被广泛应用于各个领域。面向对象的基本思想与结构化设计思想完全不同,面向对象的方法学认为世界由各种对象组成,任何事物都是对象,是某个对象类的实例,复杂的对象可由较简单对象的某种方式组成。OOP的基础是对象和类。对象是数据及对这些数据施加的操作结合在一起所构成的独立实体的总称;类是一组具有相同数据结构和相同操作的对象的描述。面向对象的基本机制是方法和消息,消息是要求某个对象执行类中某个操作的规格说明;方法是对象所能执行的操作,它是类中所定义的函数,描述对象执行某个操作的算法,每一个对象类都定义了一组方法。
OOP有3个重要特性:封装性、继承性和多态性。
封装性(Encapsulation)是指对象是数据和处理该数据的方法所构成的整体,外界只能看到其外部特性(消息模式、处理能力等),其内部特性(私有数据、处理方法等)对外不可见。对象的封装性使得信息具有隐蔽性,它减少了程序之间的相互依赖,降低程序的复杂性,提高程序的可靠性和数据的安全性。
继承性(Inheritance)反映的是类与类之间的不同抽象级别,根据继承与被继承的关系,可分为基类和衍生类,基类也称为父类,衍生类也称为子类,正如“继承”这个词给我们的字面提示一样,子类从父类那里获得所有的属性和方法,并且可以对这些获得的属性和方法加以改造,使之具有自己的特点。继承性使得相似的对象可以共享程序代码和数据,继承性是程序可重用性的关键。
多态性(Polymorphism)是指在形式上表现为一个方法根据传递给它的参数的不同,可以调用不同的方法体,实现不同的操作。将多态性映射到现实世界中,则表现为同一个事物随着环境的不同,可以有不同的表现形态及不同的和其他事物通信的方式。多态性使程序员能在一个类等级中使用相同函数的多个版本,程序员可以集中精力开发可重用的类和方向而不必过分担心名字的冲突问题。
OOP方法是以“对象”为中心进行分析和设计,紧抓“模型化世界”的对象,使这些对象形成了解决目标问题的基本构件,即解决从“用什么做”到“要做什么”。其解决过程从总体上说是采用自底向上方法,先将问题空间划分为一系列对象的集合,再将对象集合进行分类抽象,一些具有相同属性行为的对象被抽象为一个类,类还可抽象分为子类、超类(超类是子类的抽象)。其间采用继承来建立这些类之间的联系,形成结构层次。同时对于每个具体类的内部结构,又可采用自顶向下逐步细化的方法由粗到细精化之。调试运行时通过向类对象发消
息来完成,对象执行相应操作并返回结果,使对象集的初始状态变成了终态。故OOP总体来说主要是不断设计新的类和创建对象的过程。
与传统的SP相比,OOP方法具有许多优点,如采用“对象”为中心的设计方式,再现了人类认识事物的思维方式和解决问题的工作方式;OOP方法以对象为唯一的语义模型,整个软件任务是通过各对象(类)之间相互传递消息的手段协同完成,因此,能尽量逼真地模拟客观世界及其事物;由对象和类实现了模块化,类继承实现了抽象对象,以及任一对象的内部状态和功能的实现的细节对外都是不可见的,因此很好地实现信息隐藏。由此建立在类及其继承性基础上的重用能力可应付复杂的大型的软件开发。面向对象方法使得软件具有良好的体系结构、便于软件构件化、软件复用和良好的扩展性和维护性,抽象程度高,因而具有较高的生产效率。目前,面向对象程序设计语言以Java、C++为代表。 1.6 Visual Basic的对象及其属性、事件和方法
Visual Basic采用的是面向对象程序设计思想,其中对象的概念是至关重要的,准确理解和掌握对象的概念,是设计应用程序过程中的重要环节。 1.6.1 Visual Basic对象的应用实例
实例1.2 制作简易计算器。 【实例说明】
(1)应用程序只有一个窗体,窗体的标题栏显示“简易计算器”。 (2)窗体上的控件包括三个文本框、两个标签和一个命令按钮。
(3)所有对象上显示的文字内容字号为四号;窗体上文字颜色为红色;三个文本框的内容都居中显示,第三个文本框文字颜色为蓝色并且其处于不可编辑状态。
(4)当程序运行时,在前两个文本框分别输入两个数字,单击命令按钮,在窗体上显示文字“求任意两数的和:”,同时在第三个文本框显示两数之和。
(5)程序运行效果如图1.13所示。
图1.13 简易计算器
【实例分析】
本实例应用了Visual Basic中最常用的对象,首先要了解对象的概念,然后深入理解和灵活应用对象的三要素:属性、事件和方法。通过对对象的属性、事件和方法的使用,解决本实例中要求的简易计算器的基本功能。 1.6.2 Visual Basic的对象
1. 对象的概念
在现实世界中,任何一个实体都是对象,如一个人、一本书、一张桌子、一台计算机等都是对象。每个对象都有一个属于自己的名字和描述本身的若干特征。与此相似,在Visual Basic程序设计中,对象是每个基本运行实体,即构成图形用户界面的每个可视部件,均视
为对象,如窗体、标签、文本框等。每个对象都有自己的属性和方法,并能响应外部事件。属性、事件和方法是对象的三要素。
Visual Basic的对象分为窗体和控件两大类。窗体就是窗口本身,是屏幕上的一个矩形区域;控件则是窗体上构成图形用户界面的一些基本组成部件。Visual Basic6.0中的控件分为三类:内部控件、ActiveX控件和可插入对象。
● 内部控件:也称标准控件,默认出现在工具箱中,用户不能对它们进行添加和删除操作。
● ActiveX控件:也称外部控件,是扩展名为.OCX的独立文件。包括各种早期版本的Visual Basic提供的控件和仅在专业版及企业版中提供的控件,另外还包括第三方所提供的一些ActiveX控件。
● 可插入对象:在Visual Basic中可直接使用的对象被称为可插入对象,这些对象可以被添加到工具箱,当作控件一样使用。
实例1.2中对象包括窗体和几个内部控件。启动Visual Basic 6.0,创建一个工程,工程内包含一个窗体。
2. 控件在窗体的布局
设计应用程序界面最重要的一项工作就是在窗体上布局控件,如添加、删除、编辑、布局等操作。无论哪一种控件,必须先保证控件在工具箱中,才可以使用。
【提示】
内部控件是默认在工具箱中的,直接使用即可。ActiveX控件和可插入对象,要先将其添加到工具箱中,才能使用。方法是:
单击“工程”→“部件”命令,弹出“部件”对话框,如图1.14所示。在对话框中选择“控件”或“可插入对象”,在列表框选中要使用的控件或对象复选框,单击“确定”按钮,即可将其添加到工具箱中。
图1.14 “部件”对话框
(1)添加和删除控件
在窗体上添加控件有两种操作方法:
● 在工具箱中单击该控件,将鼠标指针移动到窗体上,此时鼠标指针变成十字形,在窗体适当位置拖动鼠标,松开左键,窗体上就会绘制出适当大小的控件对象。
● 在工具箱中双击该控件,在窗体的正中央自动绘制出一定大小(系统默认)的控件对象。
如果用户需要删除已经添加到窗体上的控件,在窗体上单击该控件,执行“编辑”→“删除”命令或直接按下键盘上的Delete键,即可完成删除操作。
在实例1.2中的窗体上添加控件,包括两个标签、三个文本框和一个命令按钮。 (2)编辑控件
用户将控件添加到窗体上之后,需要对控件进行调整,如改变大小、位置等编辑操作。 选择控件。编辑控件之前必须先选定控件,单个控件的选择只需用鼠标在控件上单击即可,多个控件的选择,有两种方法:
● 按住Shift键,同时单击要选择的控件。 ● 在适当位置拖动鼠标,画出一个矩形虚框,包含在矩形区域内的所有控件将被选定。 【提示】
选定控件后,每个控件周围会出现8个小方块句柄。 改变控件大小。具体操作有两种:
● 选定控件后,用鼠标直接拖动被选控件上的句柄。 ● 设置控件的Width和Height属性。 移动控件。具体操作有两种:
● 选定控件,用鼠标直接拖动控件。 ● 设置控件的Top和Left 属性。 复制控件。具体操作有两种:
● 选定控件后,执行“编辑”→“复制”命令,再执行“编辑”→“粘贴”命令,系统弹出一个对话框,询问是否要建立控件数组,单击“否”,即可复制成功。
● 选定控件后,先执行Ctrl+C命令,再执行Ctrl+V命令,以后操作同上。 在实例1.2中,适当设置控件的大小和位置。 (3)控件的布局
为了使窗体界面清晰美观,在窗体上放置多个控件后,要对这些控件进行布局设置,如排列、对齐、统一尺寸、间距等操作。首先要选定多个控件,然后使用“格式”菜单下的相应命令来完成格式的调整。
在实例1.2中,将两个标签和三个文本框同时选定,单击“格式”→“水平间距”→“相同间距”命令,调整控件布局。
【提示】
对选定的多个控件进行对齐或统一尺寸设置时,要先确定以哪一个控件为准。选定多个控件,用鼠标单击其中某一控件,该控件的句柄成为实心,则对齐或调整大小会以该控件为准。
(4)控件的命名
在设计应用程序界面时,当窗体或控件被创建后,系统会自动给它们设置一个名称,例如窗体的名称默认为Form1。当有多个窗体或控件被同时创建时,系统的默认名称会由名称后面的数字加以区分,如再次添加一个窗体,它的默认名称就是From2,依次类推。
在实际应用中,用户可以不使用系统默认的名称,而是用一些有特定含义的字符组合来表示。通常用控件名称的三个字母缩写作为前缀,表示该控件的类型,后面跟表示某些含义
的单词组合或缩写,表示该控件的用途。表1.3中列出了一些常用控件的名称缩写前缀。
表1.3 常用控件名称前缀 控件 Form Label TextBox CommandButton CheckBox OptionButton 前缀 frm lbl txt cmd或btn chk opt 控件 Frame ComboBox HscrollBar VscrollBar Timer ListBox 前缀 fra cbo hsb vsb tmr lst 实例1.2中对象的名称如表1.4所示:
表1.4 控件名称列表
控件 Form Label Label TextBox TextBox TextBox CommandButton 名称 frmCalculator Label1 Label2 txtNumber1 txtNumber2 txtSum cmdCal 1.6.3 对象的属性
属性用来描述对象的各种性质和特征,不同的对象具有不同的属性。例如描述一个人和一台桌子,分别用以下数据:
姓名:张三 性别:男 年龄:30岁 身高:175cm 民族:汉族 名称:电脑桌 长:120cm 宽:90cm 高:80cm 材质:实木 上述数据中描述人的“姓名”、“性别”、“年龄”、“身高”、“民族”以及描述桌子的“名称”、“长”、“宽”、“高”、“材质”,这些数据称为对象的属性名,而每个属性名后面的数据称为对象的属性值。人和桌子有相同的属性,如“姓名”和“名称”,“身高”和“高”,描述的是对象的相同特征;它们也有不同的属性,如“性别”是人的属性,桌子没有这样的属性,而“材质”是桌子的属性,人也没有这个属性。
1. 设置属性值
创建一个对象后,它具有的属性就确定了。通过改变对象的属性值,可以改变对象的对应特征和性质。设置对象的属性有两种方法:
● 在设计模式下,在对象的属性窗口直接更改属性值。 ● 在运行模式下,利用程序代码语句来更改对象的属性值。 在程序中设置属性的语法格式为:
对象名.属性名=属性值
例如,窗体对象的名称为Form1,将其高度设置为5000,代码可以写为:
Form1.Height=5000
在Visual Basic中,每个对象都有自身固有的属性,每个属性都有一个系统默认值,用户一般不必设置对象的每个属性值,只有在默认值不满足设计要求时,才需要设置指定的值。
2. 引用属性值
在程序代码中不但能设置对象的属性值,还可以引用对象的属性值,以获得对象的当前状态。引用对象的属性值的语法格式为:
变量=对象名.属性名 ???
例如,要想知道当前窗体的高度值,将其赋值给变量h:
h= Form1.Height
3. 对象属性的分类
对象的属性分为三种:只读属性、运行时只读属性和可读写属性。 只读属性:这种属性无论在程序设计时还是在程序运行时都只能读出它们的信息,而不能给它们赋值。
运行时只读属性:这种属性在设计程序时可以通过属性窗口设置它们的值,但在程序运行时不能再改变它们的值。
可读写属性:这种属性无论在设计时还是运行时都可读写。 4. 对象的基本属性
在Visual Basic中,对象的属性有很多,有些是对象本身特有的,有些是大多数对象所共有的。把大多数对象共有的这些属性称为对象的基本属性。表1.5列出了这些常用属性。
表1.5 对象的基本属性列表 属性 名称
说明
该属性是所有对象都具有的属性,是所创建的对象的名称,所有的控件在创建时由VB自动提供一个默认名称。Name名称属性在属性窗口的“名称”栏可以进行修改。该属性在运行时是只读的。
该属性决定控件上正文水平对齐方式。0-Left Justify:正文左对齐;1-Rigth Justify:正文右对齐;2-Center:正文居中。
该属性是窗体与有边框的控件都具有的一个属性,它的值决定了边框的绘制样式。它的取值有两个:0-表示以平面样式绘制,没有立体效果;1-表示以立体样式绘制边框。
该属性决定控件是否根据正文自动调整大小。True:自动调整大小;False:保持原来设计时的大小,正文若太长多余部分会被隐藏掉。默认为False。
该属性用来设置对象的背景颜色,即正文以外的显示区域的颜色。 该属性用来设置窗体和控件边框样式。BorderStyle属性在运行时是只读的。0-None:控件周围没有边框;1-Fixed Single:控件带有单边框。 该属性用来设置背景风格。0-Transparent:透明显示,即控件背景颜色显示不出来,若控件后面有其他控件或背景,均可设置为透明显示;1-Opaque:不透明,此时可为控件设置背景颜色。
该属性是对象的标题,窗体标题显示在窗口的标题栏中,控件的标题就显示在控件中。新添加对象的Caption属性被自动设置为Name属性的内容。
该属性决定对象是否是有效。True:允许用户操作,并对操作作出响应;False:禁止用户操作,呈暗淡色。
该属性改变文字的外观,设置字体、字号等。
该属性用来设置对象的前景颜色,即正文和作图时的颜色。其值是一个十六进制常数,用户可以在调色板中直接选择所需要的颜色。 分别表示对象的宽度和高度,即对象的大小。
Alignment Appearance
AutoSize
BackColor BorderStyle BackStyle
Caption
Enabled Font
ForeColor Width、Height
Left、Top TabIndex TabStop
Visible
分别是控件的左边到其容器的左边,控件的上边到其容器的上边的距离,即对象的位置。
该属性决定了当用户按Tab键时,焦点在各个控件转移的顺序。
TabStop属性返回或设置一个逻辑值,该值用来指示是否能够使用Tab键将焦点从另一个对象移动到这个对象上。当控件的TabStop属性设置为False时,用Tab键就不能使该控件获得输入焦点,只有那些可以获得输入焦点的控件才具有该属性。
该属性决定对象是否可见。True:程序运行时控件可见;False:程序运行时控件隐藏起来,不可见,但控件本身还存在。
实例1.2中各对象的属性需要进行设置,直接在对象的属性窗口更改属性值。
将所有对象的字号设置为四号字:在属性窗口选定Font属性,单击属性值右侧的按钮,弹出“字体”对话框,如图1.15所示,在“大小”选项里选择四号。
设置窗体上字体颜色为红色:在属性窗口选定ForeColor属性, 单击属性值右侧的下拉箭头,弹出调色板,如图1.16所示,在调色板里选择红色。第三个文本框的字体颜色用同样的方法设置为蓝色。
其他属性值的设置按表1.6—表1.9所示,直接更改。 表1.6 窗体的属性 属性 名称 Caption Height Width 表1.7 标签的属性 属性 名称 Caption AutoSize 表1.8 文本框的属性 属性 名称 Text Alignment Locked 表1.9 命令按钮的属性
属性 名称 Caption 属性值 CmdCal 计算 属性值 txtNumber1 空 2-Center False txtNumber2 空 2-Center False txtSum 空 2-Center True Label1 + True 属性值 Label2 = True 属性值 frmCalculator 简易计算器 3000 4500 图1.15 “字体”对话框 图1.16 调色板
1.6.4 对象的事件
事件是发生在对象身上,由系统事先设定好的,能被对象识别和响应的动作。例如,用鼠标单击应用程序界面上的一个按钮,则会触发按钮的单击事件(Click),也称为按钮响应了鼠标的单击事件,此时程序会执行该事件过程中的代码。
Visual Basic采用的是事件驱动编程机制,即事件的发生次序完全由用户的操作决定。当用户操作触发了某一事件,在该事件过程中的代码就会被执行,执行结束后,把控制权交给系统,等待下一个事件发生。所以,用户不必考虑程序的执行顺序,只需针对对象的事件编写出相应的事件过程即可。
Visual Basic应用程序设计的主要工作就是为对象编写事件过程的代码,其一般格式为: Private Sub 对象名_事件([参数列表]) …’响应事件时执行的程序代码 End Sub
其中,Sub为定义过程开始的语句,End Sub为定义过程结束的语句,Private表示该过程为局部过程。具体编程时,只要选中编程对象和该对象要响应的事件,对应的事件过程框架由Visual Basic系统自动生成,用户只需在事件过程中编写实现具体功能的程序代码。
在Visual Basic中,每个对象预先设定好了一系列的事件,当外界触发时,由对象来识别并响应。事件可以由一个用户动作产生,如单击鼠标或按下键盘上的按键;也可以由程序代码或系统自动产生,如定时器或加载。
最常见的对象事件触发方式是鼠标和键盘的操作,分别称其为鼠标事件和键盘事件。表1.10列出了鼠标和键盘的操作及其所触发的事件。
表1.10 鼠标事件和键盘事件(表格修改为4列) 事件 Click DblClick MouseDown MouseUp MouseMove KeyDown KeyUp
操作
单击鼠标左键 双击鼠标左键 按下鼠标键 释放鼠标键 移动鼠标
按下键盘上的按键 弹起键盘上的按键
KeyPress 按下并弹起键盘上的按键
当用户向一个对象发出动作时,可能同时在对象身上发生多个事件。例如,单击鼠标时,同时发生了Click、MouseDown、MouseUp事件。设计程序时,没必要对所有这些事件都进行编程响应,而只要对用户感兴趣的事件过程编程即可。没有编码的为空事件过程,系统不处理该事件。
实例1.2中触发了一个事件过程,即命令按钮的单击(Click)事件,在该过程中编写计算两个数之和的过程代码,如下所示。(所有代码注意格式缩进)
Private Sub cmdCal_Click() Cls Print \求任意两数的和:\txtSum.Text = Val(txtNumber1.Text) + Val(txtNumber2.Text) End Sub 【试一试】
编写按钮的Mouse_Down事件,按下鼠标时改变按钮的Caption属性为“求和”。
1.6.5 对象的方法
对象除有自己的属性和事件外,还拥有属于自己的行为,即方法。在Visual Basic中,所谓的“方法”是指对象本身所包含的一些特殊函数或过程,利用对象内部自带的函数或过程,可以实现对象的一些特殊功能和动作。当用方法来控制一个对象的行为时,其实质就是调用该对象内部的某个特殊函数或过程。例如,窗体对象拥有Hide方法和Show方法,调用Hide方法可以使窗体隐藏起来成为不可见,调用Show方法可以使窗体显示成为可见。用户只需会调用这些方法,至于方法内部是如何实现隐藏或显示的,不必管它。
Visual Basic中,对象方法调用的一般格式为: [对象名.]方法名[参数列表]
其中,如果省略了对象名表示为当前对象,一般指窗体。有些方法不要求参数,有些需要带一些参数,参数是对方法所执行动作的进一步描述,将其写在方法名的后面。
例如,窗体对象From1,其方法Cls功能是清除窗体上显示的内容,不带参数,语句为: Form1.Cls
窗体对象的Circle方法功能是在窗体是画圆,有多个参数,用来表示圆的位置、半径、颜色等,语句为:
Form1.Circle (400,300),200,vbBlue
实例1.2中命令按钮的单击事件中使用了窗体的两个方法,清除内容Cls和输出文字Print,前面省略了窗体对象名称,表示当前窗体。 1.6.5 焦点的概述
焦点是对象接收鼠标或键盘输入的能力。当对象具有焦点时,才能接收用户的输入。 窗体和大多数控件都能接收焦点,焦点只会出现在活动窗口中,并且某一时刻只能有一个对象具有焦点。当对象得到或失去焦点时,会自动触发GotFocus或LostFocus事件。
将焦点赋给对象有以下几种方法: ● 用鼠标选定对象。 ● 按快捷键选定对象。
● 按Tab键或Shift+Tab键在当前窗体的各对象之间切换焦点。 ● 在代码中用SetFocus方法设置焦点。 【提示】
不是所有的对象都能接收焦点,例如标签、框架、定时器等控件就不能接收焦点。只有当对象的Enabled和Visible属性为True时,才能接收焦点。
用户通常习惯用Tab键来使对象按指定的顺序获得焦点,这就是所谓的Tab键顺序。默认情况下,Tab键顺序与窗体上所添加对象的顺序一致。使用TabIndex和TabStop两个属性可以指定对象的Tab键顺序。
1. TabIndex属性
该属性用来设置对象的Tab键属性。在默认情况下,第一个被添加的控件其TabIndex值为0,第二个被添加的控件其TabIndex值为1,依次类推。在程序运行时,焦点默认位于TabIndex值最小的控件上,按Tab键时,焦点按对象的TabIndex值顺序切换。
2. TabStop
该属性决定用户是否可以使用Tab键来使对象获得焦点。当TabStop属性值为True时,可以获得焦点,值为False时,按Tab键时将跳过该对象,该对象不能获得焦点。 1.7 Visual Basic工程的管理
用户设计一个应用程序时会创建多个文件,而这些文件都包含在工程内,文件的相关信息都保存在工程文件中,由工程来统一管理。 1.7.1 工程的构成
工程中的文件可分为很多种,主要包括以下几种: 工程文件(.vbp):该文件包含与该工程有关的全部文件和对象的清单。 窗体文件(.frm):该文件包含窗体及控件的属性设置、窗体级的变量和外部过程的声明、事件过程和用户自定义过程。每个窗体对应一个窗体文件。
窗体的二进制数据文件(.frx):当窗体和控件的数据含有二进制属性(如图片或图标),将窗体文件保存时,系统自动产生同名的.frx文件。
标准模块文件(.bas):该文件包含模块级的变量和外部过程的声明、用户自定义的可供本工程内各窗体调用的过程。
类模块文件(.cls):该文件用于创建含有属性和方法的用户自己的对象。 资源文件(.res):该文件包含不必重新编辑代码就可以改变的位图、字符串和其他数据。 ActiveX控件的文件(.ocx):该文件可以添加到工具箱并在窗体中使用。 (此处给出实例1.2中的工程文件图。) 1.7.2 创建、打开和保存工程
1. 新建工程
启动Visual Basic 6.0时,系统会弹出如图1.2所示的“新建工程”对话框,选择一种工程类型,就会创建一个新的工程,默认情况下工程内包含一个窗体,其名称分别是“工程1”和“Form1”。
在Visual Basic 6.0开发环境中,单击“文件”→“新建工程”命令,弹出“新建工程”对话框,如图1.17所示(此图与图1.2重复,去掉),选择一种工程类型,单击“确定”即
图1.17 “新建工程”对话框
可生成新的工程。
【提示】
执行“新建工程”命令后,原有的工程将被移除,如果原有的工程未存盘,系统会弹出对话框提示用户保存工程。
2. 打开工程
对已经存在的工程进行管理操作,必须先将其打开。在集成开发环境中,单击“文件”→“打开工程”命令,弹出“打开工程”对话框,如图1.18所示,选择“现存”或“最新”选项卡,找到工程文件,选定后单击“打开”按钮,工程被打开。
图1.18 “打开工程”对话框
【提示】
执行“打开工程”命令后,原有的工程也将被移除。
如果不在集成开发环境中,直接在磁盘中找到工程文件,双击之,也可在Visual Basic 6.0中打开该工程文件。
3. 保存工程
工程被创建后,想要保留下来以备下次使用,必须将其存盘。一个工程内可能包含一个或多个窗体及模块等文件,在保存工程时,这些文件将被同时保存。
单击“文件”→“保存工程”命令,弹出“文件另存为”对话框,如图1.19所示,选定路径,在“文件名”输入窗体或模块名称,单击“保存”按钮。弹出“工程另存为”对话框,如图1.20所示,选择与文件相同的路径,在“文件名”输入工程名,单击“保存”按钮。
图1.19 “文件另存为”对话框 图1.20 “工程另存为”对话框
实例1.2中窗体保存为“计算器.frm”,工程保存为“计算器.vbp”,两个文件同时保存
到“实例1.2”文件夹中。
【提示】
对于新创建的工程,存盘时,首先保存工程内的文件,所有文件存盘后才对工程存盘。为了保证程序的可维护性,将工程文件和窗体等其他文件保存到相同的文件夹下。
4. 添加工程
在Visual Basic 6.0集成开发环境中,可以同时建立多个工程,通过添加工程来完成,并形成工程组。
单击“文件”→“添加工程”命令,弹出“添加工程”对话框,如图1.21所示,包括新建、现存和最新三个选项卡,和启动界面相似。在“新建”选项卡中选择一种工程类型,单击“打开”,就会添加一个新的工程,和原有的工程一起形成工程组。此时的工程资源管理器窗口如图1.22所示。
【提示】
保存工程时,当所有的文件都被存盘后,系统会弹出保存工程组对话框,该文件扩展名为.vbg。
图1.21 “添加工程”对话框 图1.22 工程资源管理器
5. 移除工程
工程被创建后,如果想在不退出开发环境的前提下,只关闭该工程,则可以通过移除工程的操作来完成。如果只有一个工程,单击“文件”→“移除工程”命令,将工程移除。如果从工程组中移除一个工程,要先在工程资源管理器中选择要移除的工程,然后右击鼠标,在快捷菜单中选择“移除工程”命令。
【提示】
移除工程只是将工程从Visual Basic 6.0集成开发环境中移除出去,而不是将其从磁盘中删除。
1.7.3 添加、移除和保存文件
1. 添加文件
一个工程中允许包含多个窗体或模块等其他文件,默认情况下一个工程一个窗体,根据用户需求来添加窗体和其他文件。打开“工程”菜单,在下拉菜单中选择要添加的文件类型,包括窗体、模块、类模块等,在工程资源管理器窗口按类型显示所有文件。
对于已经存在的文件,可以将其添加到某个工程,达到文件资源共享目的。单击“工程”→“添加文件?”命令,弹出“添加文件”对话框,如图1.23所示,找到要添加的文件,选定后单击“打开”按钮,该文件即会被添加到当前工程中,如图1.24所示。
【试一试】
新建一个工程,包含一个窗体Form1,将实例1.2中的“计算器.frm”文件添加到该工
程中。
图1.23 “添加文件”对话框 图1.24工程资源管理器窗口
2. 移除文件
工程中的文件能够被移除。在工程资源管理器中选定要被移除的文件,如Form1,单击“工程”→“移除Form1”命令,该文件即被移除。或者选定文件后,右击鼠标,在快捷菜单中选择“移除Form1”命令。
【提示】
和移除工程一样,移除文件只是将文件从该工程中移除出去,而不是将其删除。 3. 保存文件
在保存工程时,所有文件将被保存。如果想对已有的文件改名,必须用文件另存为操作完成。例如,将窗体文件Form1.frm改名为myform.frm,操作如下:
选中Form1.frm文件,单击“文件”→“Form1.frm另存为?”命令,在弹出的“另存为”对话框中输入文件名myform.frm,单击“保存”。或者在工程资源管理其中选定Form1.frm文件,右击鼠标,在快捷菜单中选择“Form1.frm另存为?”命令。
【提示】
文件名被改为myform.frm后,原来的Form1.frm文件从当前工程中移除,但仍保留在磁盘中。如不再需要该文件,可以从磁盘中彻底删除。 1.7.4 工程的设置和运行
1. 工程环境设置
Visual Basic 6.0提供了强大的个性化集成开发环境的功能,体现了个性化设计风格,用户可以通过设置改变当前开发环境,以便于各种工具的使用。
图1.25 “选项”对话框 图1.26 “工程属性”对话框
单击“工具”→“选项”命令,弹出“选项”对话框,如图1.25所示。在对话框中有6个选项卡,每个选项卡具有特定的功能,用户根据需求对各个选项卡中的内容进行设置。介绍常用的几个。
(1)“编辑器”选项卡。用来设置代码窗口和工程窗口的一些特殊功能,如自动语法检测、要求变量声明、自动列出成员、自动显示快速信息、缺省为整个模块查询等。
(2)“编辑器格式”选项卡。用来设置代码窗口格式,如代码颜色、字体、背景色、前景色等。
(3)“通用”选项卡。用来设置窗体网格信息、错误处理方式以及编译方式等。 【试一试】
对“选项”对话框中每个选项卡的主要内容进行设置更改,了解环境设置的各种功能。 2. 工程属性设置
进行工程管理时,出了上述的基本操作之外,还可以对工程的属性进行设置。如修改工程名称、设置启动窗体等内容。
单击“工程”→“工程1属性”命令,弹出“工程属性”对话框,如图1.26所示。在“工程名称”处输入新的工程名称,即可修改工程名。单击“启动对象”下拉列表框,可以选择工程中的启动对象为某个窗体或Sub Main。
实例1.2中启动对象为“frmCalculator”窗体。 【提示】
启动对象只允许有一个,或者是一个窗体,或者是Sub Main。而Sub Main是在标准模块中的用户自定义过程。
3. 工程运行
应用程序设计完成后,要运行程序,查看运行结果。在Visual Basic中有两种方式运行程序,即编译运行模式和解释运行模式。
(1)编译运行模式。单击“文件”→“生成工程1.exe…”命令,系统将读取程序中全部代码,将其转换为机器代码,并保存在扩展名为.exe的可执行文件中,以后可以随时执行。
(2)解释运行模式。单击“运行”→“启动”命令,程序由设计模式进入到运行模式,用户可以对界面进行操作来查看运行效果。当需要暂停程序运行时,单击“运行”→“中断”命令,程序进入中断模式,用户可以修改代码。单击“运行”→“结束”命令,将程序运行终止,又进入设计模式,保存程序,或是接着修改界面和代码。
运行实例1.2中的工程,在窗体界面输入两个数据,单击“计算”按钮,第三个文本框中显示这两个数据的和,并在窗体显示文字信息。如图1.13所示。
【提示】
“启动”命令的快捷键为F5,“中断”命令的快捷键为Ctrl+Break。 1.7.5 Visual Basic应用程序设计的基本步骤
利用Visual Basic开发应用程序,包括两部分工作:设计用户图形界面和编写程序代码。用户界面是用户与计算机之间交换信息的桥梁,是用户实现计算机操作的平台。通过用户界面,用户向计算机输入命令、数据等信息,这些信息经过计算机处理后,又通过用户界面输出给用户。
Visual Basic是面向对象的程序设计方法,采用的是事件驱动编程机制。首先要将问题对象化,确定对象后才能针对这些对象进行代码编写,也就是建立事件过程。
用户界面由窗体和控件构成,各种控件对象必须建立在窗体上,所以用户界面设计又分为建立对象和对象属性设置两部分。
通过实例1.2中应用程序的设计过程,分析总结可以得出Visual Basic应用程序设计的基本步骤如下:
(1)建立用户界面的对象。 (2)设置对象的属性值。
(3)编写程序代码,建立事件过程。
(4)保存和运行应用程序。 1.8 窗体与基本控件 1.8.1 窗体应用实例
实例1.3 设计一个唐诗欣赏应用程序,用来显示唐诗《望庐山瀑布(李白)》。 【实例说明】 (1)该程序只有一个窗体,名称为frmDisp;窗体上有三个命令按钮,名称分别为cmdPrt、cmdCls、cmdEnd。
(2)窗体加载时,将标题属性设置为“唐诗欣赏”,背景添加一幅图片(在“实例1.3”文件夹中),窗体上文字颜色为蓝色。
(3)单击窗体时,将背景图片删除,背景色设为白色;双击窗体时,回复原来的背景图片。
(4)单击cmdPrt按钮,在坐标(1200,400)处显示“望庐山瀑布(李白)”,字体为楷体、20号、加粗;在其下方显示“日照香炉生紫烟,遥看瀑布挂前川。”和“飞流直下三千尺,疑是银河落九天。”两行文字,字体为黑体、14号。
(5)单击cmdCls按钮,清除全部文字。 (6)单击cmdEnd按钮,结束程序运行。 (7)程序运行效果如图1.27所示。(这两个图文字描述不是很清楚,作用是什么?)
图1.27a 有背景显示唐诗 图1.27a 无背景显示唐诗
【实例分析】
该程序应用了窗体的很多属性、事件和方法,通过它使用户掌握和理解窗体的基本操作方法,以便设计满足用户需求的窗口界面。 1.8.2 窗体
窗体是设计应用程序图形用户界面的基本平台,也是其他控件的载体或容器,界面所需的全部控件都要放置到窗体上。窗体本身是一个对象,它也有自己的属性、事件和方法,用来控制窗体的外观和行为。
大多数应用程序都是从窗体开始执行的。程序运行时,每个窗体对应一个窗口,对于简单程序,一个窗体就足够了;但复杂的应用程序,可能需要若干个窗体。
1. 窗体的属性
窗体属性决定了窗体的外观和行为。窗体被创建后,系统自动为其设置默认属性值,窗体及其属性窗口如图1.28所示。
在设计程序时,窗体属性的设置既可以直接在其属性窗口中手动操作,也可以在程序运行时由代码来实现。有少数属性只能在属性窗口(设计模式下)设置或只能利用代码(运行模式下)设置。
窗体属性很多,下面介绍一些常用的属性,如表1.11所示。
图1.28 窗体及其属性窗口 表1.11 窗体的常用属性
属性
Name(名称)
说明
设置窗体的名称。默认名称为Form1,添加窗体时,依次为Form2、Form3??。该属性只能在属性窗口设置。
Caption 设置窗体标题栏中显示的文本。 AutoRedraw 控制屏幕图像的重建。 BackColor 设置窗体的背景颜色。 BorderStyle 设置窗体的边框样式,是否显示标题栏,是否可以调整大小等。 ControBox 控制是否显示窗体的控制菜单图标和状态控制按钮。 MaxButton和MinButton 设置窗体的最大化和最小化按钮是否可用。 Picture 设置窗体的背景图片。 Height和Width 设置窗体的高度和宽度。 Left和Top 决定窗体的位置,即窗体距离屏幕左上角的位置。 Icon 设置控制菜单的图标。 Moveable 决定窗体是否可以移动。 Enabled 决定是否响应用户事件,即是否允许操作窗体。 Visable 设置窗体在运行时是否可见。 Font 决定窗体上文本的样式、大小、效果等。 WindowState 设置窗体运行时的显示状态。 其中BorderStyle属性有6种取值,每个值对应一种外观,如表1.12所示;Font属性可以直接在属性窗口单击其右侧按钮,在“字体”对话框中设置,也可以在代码中进行处理,字体属性包含很多内容,如表1.13所示;WindowState有3种属性值,如表1.14所示。
表1.12 BorderStyle属性的取值 属性取值 0-None
1-Fixed Single
说明
窗体无边框和标题栏,且窗体不能移动、不能改变大小。 窗体有可见边框和标题栏,无最小化和最大化按钮,不能改变大
2-Sizable
3-Fixed Dialog
4-Fixed ToolWindows 5-Sizable ToolWindows 属性取值 FontName FontSize FontBold FontItalic FontStrikethru FontUnderline FontTransParent 属性取值 0-Normal 1-Minimized 2-Maximized
小。
默认值,窗体的大小和位置均可调整。 窗体可移动,但不能改变大小。
有标题栏,无控制菜单图标,且标题栏较窄,无最大化和最小化按钮,不能调整大小。
与4类似,但不能调整大小。
表1.13 Font字体属性
说明
字体名称。
字体大小,即字号。 文字是否为粗体。 文字是否为斜体。 文字是否添加删除线。 文字是否添加下划线。
确定显示的信息是否与背景重叠。
表1.14 WindowState属性取值 说明
正常窗口状态,有窗口边界。 最小化状态,以图标方式运行。
最大化状态,无边框,充满整个屏幕。
实例1.3中,在属性窗口只对窗体和三个按钮的名称属性、三个按钮的Caption属性做了设置,按实例说明中的要求设置。在程序代码中对BackColor、ForeColor、FontName、FontSize、FontBold、CurrentX、CurrentY、Picture属性进行了设置。
2. 窗体的事件
窗体作为对象,能够对事件做出响应。窗体事件过程的一般格式为: Private Sub Form_事件名([参数列表]) ?
End Sub 【提示】
不管窗体名称如何更改,在事件过程中只能使用Form。在过程内对窗体对象进行引用时要用该窗体名称。
窗体最常用的事件有三个:Click(单击)、DblClick(双击)和Load(加载)。另外还有很多鼠标和键盘触发的以及系统自动产生的事件,具体事件名称和功能说明如表1.15所示。
表1.15 窗体常用事件及其功能说明 事件 Load
功能说明
当加载窗体时,系统自动触发的事件。使用Load语句调用该窗体,或者在其他窗体引用该窗体的控件,都会触发Load事件。常用来进行初始化设置。
当窗体成为活动窗体时触发Activate事件,而窗体不是活动窗体时触发Deactivate事件。单击窗体或在程序中执行Show方法都可以把窗体变为活动窗体。 当改变窗体大小时自动触发该事件。
Activate和Deactivate
Resize
Paint
Click DblClick KeyPress
KeyDown和KeyUp MouseMove
MouseDown和MouseUP Unload
窗体的AutoRedraw属性被设置为False,当首次显示窗体、窗体被移动或改变大小、窗体被其他窗体覆盖时,将触发该事件。 当用户用鼠标单击窗体时触发该事件。 当用户用鼠标双击窗体时触发该事件。 当按下键盘上的某个按键时触发该事件。
按下键盘上的某个按键时触发KeyDown事件,释放按键时触发KeyUp事件。
鼠标在窗体上移动时触发该事件。
按下鼠标按键时触发MouseDown事件,释放按键时触发MouseUP事件。
当卸载窗体时触发该事件。使用Unload语句或关闭窗体时都会触发该事件。
【提示】
双击鼠标时系统触发Click和DblClick两个事件,先触发Click事件,再触发DblClick。 窗体的事件过程中有些含有参数,有些不含参数,下面介绍两个带有参数的事件过程格式。
KeyPress事件过程的格式为:
Private Sub Form_KeyPress(KeyAscii As Integer) ?
End Sub
其中,参数KeyAscii返回所按按键的ASCII码值。 MouseMove事件过程的格式为:
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
?
End Sub
其中,参数Button用来判断用户按下的是鼠标的哪个键,参数Shift用来判断是否按下Shift、Ctrl或Alt键构成的组合状态,参数X和Y用来返回指针所在位置。
实例1.3中调用了窗体的Load事件、Click事件和DblClick事件。事件过程代码如下:
Private Sub Form_Load() frmDisp.Caption = \唐诗欣赏\ frmDisp.Picture = LoadPicture(App.Path + \ frmDisp.ForeColor = vbBlue End Sub Private Sub Form_Click() frmDisp.Picture = LoadPicture(\ frmDisp.BackColor = vbWhite End Sub Private Sub Form_DblClick() frmDisp.Picture = LoadPicture(App.Path + \End Sub 除此之外,还调用了三个命令按钮的Click事件,其代码如下:
Private Sub cmdCls_Click() Cls End Sub Private Sub cmdEnd_Click() End End Sub Private Sub cmdPrt_Click() frmDisp.FontName = \楷体_GB2312\ frmDisp.FontSize = 20 frmDisp.FontBold = True CurrentX = 1200 CurrentY = 400 Print \望庐山瀑布(李白)\ frmDisp.FontName = \黑体\ frmDisp.FontSize = 14 Print Print Spc(5); \日照香炉生紫烟,遥看瀑布挂前川。\ Print Print Spc(5); \飞流直下三千尺,疑是银河落九天。\End Sub 3. 窗体的方法
窗体常用的方法如表1.16所示。
表1.16 窗体常用方法 方法 Print Show Hide Cls Move
说明
用于在窗体上输出数据。 快速显示一个窗体。 将窗体隐藏起来。
清除运行时窗体上显示的文本或图形。 移动并改变窗体的位置和大小。
(1)Print方法的一般格式为: [对象名.]Print 表达式
其中,表达式可以是数值也可以是字符串。对于数值表达式,先计算表达式的值,然后输出;字符串必须用双引号括起来,按原样输出。没有表达式,则输出一个空行。
对象名可以省略,表示在当前窗体上输出。
实例1.3中的cmdPrt_Click()事件过程中调用了Print方法。 (2)Cls方法的一般格式为: [对象名.]Cls
实例1.3中的cmdCls_Click()事件过程中调用了Cls方法。 (3)Move方法的一般格式为:
[对象名.]Move Left,[Top],[Width],[Height]
其中,参数Left和Top表示被移动对象的目标位置的X、Y坐标,参数Width和Height表示被移动对象的宽度和高度。 1.8.2命令按钮
实例1.4 设计一个应用程序,通过命令按钮可以控制窗体的大小。 【实例说明】
(1)程序只有一个窗体,窗体上有三个命令按钮(所有对象名称自行设置)。
(2)单击“窗体变大”按钮时,可以将窗体变大;单击“窗体变小”按钮时,可以将窗体变小;单击“退出”按钮时,结束程序。
(3)程序运行界面如图1.29所示。
图1.29 命令按钮实例
【实例分析】
该程序应用了命令按钮的常用属性和事件,使用户掌握命令按钮的常用操作。 命令按钮用于接收用户的操作信息,通过单击命令按钮来执行一些操作。 1. 常用属性
多数对象具有共同的属性,前面已经介绍很多属性的功能,以后只介绍具体对象的特有的属性功能,重复的属性不再介绍。
(1)Caption属性。设置命令按钮上显示的文字信息。该属性是说明性的文字,可以是任意的字符串。利用Caption属性可以为命令按钮设置一个快捷键,即在某个字母的前面加上“&”符号,运行程序时,按下Alt键和该字母键,就能执行命令按钮的单击过程。
(2)Default属性和Cancel属性。分别用于设置“默认按钮”和“取消按钮”,当属性值为True时,两个属性生效。“默认按钮”就是只要用户按下Enter键,就相当于触发了单击过程;“取消按钮”就是只要用户按下Esc键,就相当于触发了单击过程。
【提示】
窗体上有多个按钮时,通常只允许有一个默认按钮和一个取消按钮。
(3)Style属性。设置命令按钮的外观。默认值为0,表示以标准的Windows按钮方式显示;值为1,表示以图形按钮显示,此时可用Picture、DownPicture和DisabledPicture属性来分别设置按钮在正常、被按下和不可用三种状态下显示的图片。
【试一试】
通过设置命令按钮的Style属性来改变按钮的显示外观。 实例1.4中的属性设置如表1.17所示。
表1.17 实例1.4中的属性设置
控件名称 Command1 Command2 Command3
Caption属性 窗体变大(&L) 窗体变小(&S) 退出(&E)
Default属性 True False False
Cancel属性 False False True
2. 事件和方法
命令按钮最常用的事件就是Click事件,它不响应DblClick事件。 命令按钮常用的方法是SetFocus方法。
实例1.4中应用了命令按钮的Click事件,事件过程的代码如下所示:
Private Sub Command1_Click() Form1.Height = Form1.Height + 500 Form1.Width = Form1.Width + 500 End Sub Private Sub Command2_Click() Form1.Height = Form1.Height - 500 Form1.Width = Form1.Width - 500 End Sub Private Sub Command3_Click() Unload Me End Sub 另外,实例1.4中还有一个窗体的Load事件,过程代码如下:
Private Sub Form_Load() Form1.Height = 4000 Form1.Width = 4000 End Sub 1.8.3标签
实例1.5 设计一个应用程序,实现标签的显示和隐藏,并改变标签文字的颜色。 【实例说明】
(1)程序有一个窗体,窗体上有一个标签和三个按钮。 (2)标签显示文字“标签实例演示”,对标签进行属性设置。
(3)单击“显示标签”按钮,将标签显示;单击“隐藏标签”按钮,将标签隐藏;单击“改变文字颜色”按钮,随即生成一种颜色。
(4)程序运行效果如图1.30所示。
图1.30 标签实例
【实例分析】
本实例充分运用标签属性进行程序设计,掌握标签的基本操作方法。 标签主要用来显示比较固定的提示性信息。
1. 常用属性
(1)Alignment属性。设置标签中文本的对齐方式。
(2)AutoSize属性。确定标签的大小是否根据内容自动调整大小。默认值为False,表示不自动调整大小。
(3)BackStyle属性。设置标签的背景模式,有两个属性值。默认值是1,表示标签将覆盖背景,0表示标签是“透明”的。
(4)WordWrap属性。设定标签大小是否根据其内容改变垂直方向的大小,即是否以增加或减少行来适应内容的变动,但宽度保持不变。默认值为False,表示不改变标签的垂直方向大小,True表示将改变标签的垂直方向大小。
【提示】
为了使WordWrap属性起作用,应该把AutoSize属性设置为True。 实例1.5中的对象属性设置如表1.18所示。
表1.18 实例1.5中的属性设置 控件名称 Command1 Command2 Command3 Label1
Caption 显示标签 隐藏标签 改变文字颜色 标签实例演示
Alignment
2-Center
FontName 隶书
FontSize 24
BorderStyle
1-Fixed Single
2.常用事件和方法
标签可触发的事件有Click、DblClick等,但在应用程序中很少使用。 标签常用方法有Move,可以移动标签。
实例1.5中没有触发标签的事件,触发了命令按钮的Click事件,事件过程代码如下:
Private Sub Command1_Click() Label1.Visible = True End Sub Private Sub Command2_Click() Label1.Visible = False End Sub Private Sub Command3_Click() Randomize c = Int(15 * Rnd) Label1.ForeColor = QBColor(c) End Sub 【提示】
实例1.5中的Command3_Click()过程代码里使用Randomize产生随机种子,Int(15 * Rnd)用来生成0-14之间的随机整数,以改变文字颜色。 1.8.4 文本框
实例1.6 设计一个应用程序,用文本框显示文字信息。 【实例说明】
(1)程序只有一个窗体,窗体上有三个标签和三个文本框,两个命令按钮。
(2)在第一个文本框输入文字信息,另外两个文本框中显示相同的内容,但是文字的颜色和大小不同。
(3)单击“清除”按钮,将三个文本框中的内容清除;单击“退出”按钮,结束程序。
(4)程序运行效果如图1.31所示。
图1.31 文本框实例
【实例分析】
本实例使用文本框的常用属性、事件和方法进行程序设计,掌握文本框的基本操作方法,丰富程序界面和实现程序基本功能。
文本框为用户提供一个能够输入、编辑和显示文本内容的区域。 1. 常用属性
(1)Text属性。文本框中显示的文字内容,可以是输入的,也可以是输出的。
(2)MaxLength属性。确定文本框中文本的最大长度。默认值为0,表示没有字符限制,单行显示时最大长度为2KB,多行显示时最大长度为32KB。如果将其设置为正整数值,即是文本框可容纳的最大字符数。
(3)MultiLine属性。指定文本框中是否允许显示和输入多行文本。默认值为False,输入单行文本,True表示输入多行文本。
(4)PasswordChar属性。设置密码字符。把该属性值设置为某个字符,比如“*”,用户在文本框中输入的任何字符都将以“*”替代显示,但文本框中的文本实际内容不变,只是显示状态被改变了,因此可以作为密码框使用。
【提示】
只有在MultiLine属性值为False时,PasswordChar属性才能起作用。
(5)ScollBars属性。设置文本框中是否出现滚动条。有4个属性值:默认值为0,表示不出现滚动条;1表示出现水平滚动条;2表示出现垂直滚动条;3表示同时出现水平和垂直滚动条。
(6)Locked属性。设置文本框是否能被编辑。默认值False,表示文本框内容可以编辑修改,True表示文本框只读。
(7)SelStar属性、SelLength属性和SelText属性。这三个属性表示文本框中的文本信息被选定状态,只能在运行模式下使用。SelStar表示选定文本的起始位置,默认值是0,即从第一个字符开始;SelLength表示选定文本的长度;SelText表示选定文本的内容。
实例1.6中文本框的属性设置如表1.19所示。
表1.19 实例1.6中文本框的属性设置 控件名称 Text1 Text2
Text 空白 空白
ForeColor 默认 红色
FontSize 默认 8
FontBold True True
Locked False True
Text3 空白 绿色 14 True True
2.常用事件和方法
文本框可触发事件很多,主要有Click、DblClick、Change、GotFocus、LostFocus等。当文本框的内容发生改变时,触发Change事件。
文本框常用方法有Move方法和SetFocus方法。
实例1.6中应用了文本框的Change事件,用来显示两位两个文本框里的内容,调用了SetFocus方法,来使文本框获得焦点。其事件过程代码如下所示:
Private Sub Text1_Change() Text2.Text = Text1.Text Text3.Text = Text1.Text End Sub Private Sub Command1_Click() Text1.Text = \ Text2.Text = \ Text3.Text = \ Text1.SetFocus End Sub Private Sub Command2_Click() Unload Me End Sub
1.9 本章小结
本章主要介绍了Visual Basic 6.0的发展特点及其安装启动方法,着重讲述了Visual Basic 6.0集成开发环境的应用、对象的基本概念、工程的管理、以及窗体和基本控件的使用。内容阐述采用的是实例驱动的方式,从简单实例入手,分析实例需求,进而解决实例中提出的问题,实现用户开发要求达到的功能。通过本章学习,让读者在对Visual Basic 6.0初步了解的基础上,运用其常用对象,即窗体和基本控件,设计应用程序,掌握应用程序设计的一般步骤,为后面章节的学习打下坚实基础。 1.10 实战训练(给出提示)
1. 在窗体上建立一个标签,单击窗体时,在标签上显示“执行了窗体单击操作”;双击窗体时,在标签上显示“执行了窗体双击操作”。
2. 在窗体上建立三个文本框和两个命令按钮。在前两个文本框输入文字,单击“交换”按钮,将两个文本框中的内容互换;单击“合并”按钮,将两个文本框中的内容连接成一个字符串,输出在第三个文本框中。运行结果如题图1.1所示。
题图1.1 文本框程序运行结果
3. 在窗体上建立三个命令按钮和一个文本框。命令按钮标题分别是“笑脸”、“哭脸”、“改变按钮状态”。初始状态“笑脸”和“哭脸”两个按钮为不可用,单击“改变按钮状态”后,两个按钮变为可用,并且将其转换成图片按钮,分别显示“”和“”图标。单击“笑脸”按钮,文本框显示“我好高兴!”;单击“哭脸”按钮,文本框显示“哦,又生气了!”。运行结果如题图1.2所示。
正在阅读:
VB程序设计第1章实例05-11
各高校创新创业教育改革实施方案01-25
专业技术人员的形象塑造与礼仪修养学习笔记03-13
12章温度与物态变化单元复习05-19
交通运输部重点营运车辆GPS联网联控江苏省平台管理规范05-25
1、企业信用报告查询需提交资料及办理地点04-18
春天来了作文400字07-16
孕产妇健康管理服务规范01-21
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 程序设计
- 实例