一、 工程概述
如果要使用VB进行程序设计就需要深刻理解工程的含义,在VB中不管应用程序的规模有多大或多小,它总是对应着一个或几个工程,所以VB的应用程序与工程有密切关系。
1、什么是工程
工程文件就是与该工程有关的全部文件和对象的清单,也是所设置的环境选项方面的信息。每次保存工程时,这些信息都 要被 更新。所有这些文件和对象也可供其他工程共享。一个工程往往会包括下列文件: 跟踪所有部件的工程文件(.vbp)。
每个窗体的文件(.frm)。
每个窗体的二进制数据文件(.frx),它含有窗体上控件的属性数据。对含有二进制属性的任何.frm文件 都是不可编辑的,这些文件都 是自动产生的。
每个类模块的文件(.cls),该 文件旧可选项。
每个标准模块的文件(.bal) ,该文件是可选项。
一个或多个包含ActiveX控件的文件(.ocx),该文件是可选项。
单个资源文件(.res),该文件是可选项。 当完成工和的全部文件之后,即可将此工程转换成可执行文件(.exe),方法是从“文件”菜单选取“生成…….exe”命令。
VB通过工程资源管理器窗口来反映工程发生的变化,该窗口包含此工程的当前文件的列表,如下图。当程序员创建、添加或从工程中删除可编辑文件时,都可以从工程窗口中直观地看到。

工程资源管理器窗口直观地反映了工程的构成。
2、工程文件
每次保存工程,VB都要更新工程文件。工程文件 包含文件 列表,它与出现在工程资源管理器窗口的文件 列表相同,工程文件 还引用了工程中所有使用ActiveX控件和可能插入对象。工程文件所包含的设计阶段文件类型及意义如表所示
文件扩展名 |
文件类型说明 |
文件扩展名 |
文件类型说明 |
.bas |
标准模块文件 |
.log |
装载错误日志文件 |
.cls |
类模块文件 |
.oca |
控件类库存 |
.ctl |
用户控件文件 |
.pag |
属性页文件 |
.ctx |
用户控件二进制文件 |
.pgx |
二进制属性页文件 |
.dca |
活动设计器缓存文件 |
.res |
资源文件 |
.ddf |
包和开发向导CAB信息文件 |
.tlb |
远程自动类库 |
.dep |
包和开发向导从属文件 |
.vbg |
工程组文件 |
.dob |
ActiveX文档窗体文件 |
.vbl |
控件许可文件 |
.dox |
ActiveX文档二进制文件 |
.vbp |
工程文件 |
.dsr |
活动设计器文件 |
.vbr |
远程自动注册文件 |
.dsx |
活动设计器二进制文件 |
.vbw |
工程工作区文件 |
.dws |
开发向导脚本文件 |
.vbz |
向导启动文件 |
.frm |
窗体文件 |
.wct |
Web类HTML模板文件 |
.frx |
二进制窗体文件 |
|
|
工程文件的扩展名是.vbp,可以将几个工程.vbp文件组成一个工程组.vbp文件,表6-1的其它文件都包含在一个工程文件中。在一个工程中,最常用的文件 有窗体文件(.frm)、标准模块文件(.bas)、类模块文件(.cls)、资源文件(.res)、用户控件文件(.ctl,ctx)、用户文档(.dox,dob)等。通过使用VB建立不同 的应用,可以加深对不同文件的理解。在编译应用程序时,所有需要的设计阶段建立的文件都包含在运行阶段的可执行文件中。运行阶段的文件类型如表6-2所示
文件扩展名 |
文件类型说明 |
.dll |
内部连接执行的ActiveX部件 |
.exe |
可执行文件或ActiveX部件文件 |
.ocx |
ActiveX控件文件 |
.vbd |
ActiveX文档状态 |
.wct |
Web类HTML模板文件 |
3、 VB工程的结构
(1)窗体模块
窗体模块(具有.frm文件扩展名)包含窗体及其控件的正文描述、属性设置,也含有窗体级的常数、变量 和外部过程的声明、事件过程和一般过程。
(2)类模块
类模块(具有.cls文件扩展名)与窗体模块类似,只是没有可见的用户界面。可以使用类模块创建含有方法和属性代码的对象
(3)标准模块
标准模块(具有.bas文件扩展名)包含类型、常量、变量、外部过程和公共过程的公共的或模块级的声明。
(4)资源文件
资源文件(具有.res文件扩展名)包含着无需重新编辑代码便可以改变的位图、字符串和其它数据。一个工程最多包含一个资源文件。
(5)ActiveX文档
ActiveX文档(具有.dob文件扩展名)类似于窗体,但是在互联网浏览器中是可以显示的。VB的专业版和企业版能够创建ActiveX文档。
(6)模块用户控件
模块用户控件(.ctl)和属性页(.pag)模块类似于窗体,可用于创建ActiveX控件及其属性页。VB的专业版和企业版都能够创建ActiveX控件。
(7)部件
除文件和模块外,还有几个其它类型的部件可以添加到工程中。ActiveX控件(具有.ocx文件扩展名)是可选的控件,它可以被添加到工具箱中并在窗体里使用。可以从多种来源取得附加的ActiveX控件。也可以使用VB专业版和企业版创建自己的控件。
(8)可插入的对象
可插入的对象是用于建造集成方案时建造的部件。
(9)引用
可以添加能被应用程序使用的外部activex部件的引用。通过访问"工程"菜单上的"引用"菜单项,借助"引用"对话框使用指定的引用。
(10)activex设计器
activex设计器是类的设计工具,从类出发可以创建对象。窗体的设计界面是缺省的设计器。从其他的源可取得附加的设计器。
(11)标准控件
标准近控件是由VB提供的。总是包含在工具箱里,标准控件与可从工具箱里删除、添加的ActiveX控件和可插入对象不同。
二、创建、打开和保存工程
用[文件]菜单上的四个命令可以创建、打开和保存工程,表6-3所示为其说明
命令 |
说明 |
新建工程 |
关闭当前工程,提示用户保存所有修改过的文件。可以从"新建工程"对话框选定一个工程类。然后创建一个带有单 个新文件的新工程 |
打开工程 |
关闭当前工程,提示用户保存所有改动。打开一个现有工程,包括其工程文件(.vbp)中所列的窗体。模块和Active控件。 |
保存工程 |
更新当前工程的工程文件及其全部窗体、标准和类模块 |
工程另存为 |
更新当前工程的工程 文件,用规定的文件名保存此工程文件 |
VB还提示用户保存所有修改过的窗体和模块在工程间文件中可以共享。像窗体这样的单个文件可以是多个工程的组成部分。一个工程中的窗体或模块所做的改变,将会传播到共享这个模块的所有工程。
1、创建工程
(1)创建工程的方法
单击菜单[文件]/[新建工程],打开[新建工程]对话框;
从[新建工程]对话框中选择一个工程的类型。
(2)VB的工程类型
标准EXE
新建的标准EXE工程包含一个窗体。
ActiveX EXE可执行工程
新建的ActiveX EXE可执行工程包含一具类模块,用户可添加窗体或过程。创建的ActiveX EXE部件可以重用,一个用户应用可以通过对象和调用属性与方法来使用它的代码。新建ActiveX EXE[工程资源管理器]。
ActiveX DLL
ActiveX DLL与ActiveX EXE工程相似,它只能生成DLL文件。
ActiveX控件
ActiveX控件使用ActiveX软件工程。用户可以用C++,Microsoft Office等建立自己的控件文件。
VB应用程序向导
使用VB应用程序开 发向导可以有选择地快速建立应用程序框架,是应用程序开发的有力工具,极大地提高工作效率。
VB向导管理器
用户使用向导管理器可以建立自己的向导应用工程。
数据工程
使用数据工程可以建立包含窗体、数据环境和数据报表的数据库应用。
IIS应用程序
IIS服务器是集成在WindowsNT中的Web服务器。
外接程序工程
外接程序工程用来创建用语自己的外接程序。
ActiveX 文档DLL
DHTML应用程序
动态HTML(DHTML)应用工程属于一个ActiveX DLL工程,自动提供创建HTML页的工具,新建一个DHTML工程时,自动添加一个模块和一个DHTML页。模块 中有两个过程:PutProperty和GetProperty,用于属性的操作。
VB专业版控件
使用VB专业版控件建立标准EXE工程,在工具箱中自动添加了许多非标准控件。
2、打开工程
打开一个工程的方法有两种: (1)点击菜单[文件]/[打开工程]。
(2)点击工具栏按钮。
打开工程是选择打开一具工程文件,根据该 文件 的内容打开组成工程的其它对象文件。打开工程对话框中有[现存]和[最新]两个选项。在[现存]项中可以通过文件 夹列表选择要打开文件 的位置中,再选择要打开 的工程 文件。在[最新]项中列出最近建立的工程名,可以快速地打开一个工程。
打开一个工程后,可以对其中的窗体,模块等对象进行修改,也可以添加进新的对象 文件 。一般说来,任何更改都 要保存,如果仅对原有文件做了修改,保存工程 时无任何提示。如果添加了新文件,保存时会出现对话框。
3、保存工程
工程文件是与工程 相关联的所有文件和对象以及所设置的环境信息的一个简单的列表,保存工程就是保存相关文件以及工程文件。保存工程有以下两种方法: (1)点击菜单[文件 ]/[保存工程]
(2)单击工具栏按钮
新建一个工程结束后,保存工程时,先分别保存窗体,模块或ActiveX控件等对象的文件,对每一个文件的保存都有保存对话框,最后保存工程文件。对象文件与工程文件是各自独立的,工程文件是文本文件。
点击菜单[文件]/[工程另存为],将工程存为另一个工程文件。
三、使用多个工程
在VB中,可以同时打开多个工程。在建造和测试有关用户创建的控件时,这种功能很有用。在装入了多个工程时,[工程资源管理器]窗口的标题将变成"工程组",而所有打开的工程部件都会显示出来。
1、向当前工程 组添加附加工程的步骤
在[文件]菜单中选取[添加工程],出现[添加工程]对话框
选择[新建]工程、[现存]工程或[最新]工程类型,并选取[打开]。当选择现有的工程时,注意要添加的工程与已经使用的工程不能重名,否则会出错,提示已经加载。
2、从现有工程组里删除一个工程 的步骤:
在[资源管理器]里选定一个工程或一具工程部件
在[文件]菜单中选取[移除工程]或者在[工程资源管理器]里选择要删除的工程,单击鼠标右键,出现上下文菜单,在菜单中选择[移除工程]。
四、添加、删除和保存文
1、 添加文件
向工程中添加文件的步骤如下:
选择菜单[工程]/[添加文件...],出现[添加文件]对话框或在[ 工程资源管理器]中选择要添加文件 的工程,单击鼠标右键,出现上下文菜单,在菜单中选择[添加]/[添加文件...],出现[添加文件]对话框。
在"文件类型"中选择自己的需要的文件类型,然后选定一个现存的文件,单击[打开]按钮。
2、 删除文件
从工程中删除文件的步骤如下:
在[资源管理器]中选定该文件;
选择菜单[工程]/[删除文件];
此文件将从工程里删除。
3、 保存文件
如果从工程里删除了文件,在保存此工程时VB更新此工程文件中的这个信息。但是,如果在VB之外删除一个文件,VB不能更新此工程文件;因此,当打开此工程时,VB将显示一个错误信息,警告一个文件丢失。要只保存文件而不保存工程,在[工程资源管理器]里选定此文件,选择菜单[文件]/[保存文件]。
4、 合并文本
在当前工程的代码中可以插入另外的文件,也能够从其它文件将现存的文本插入到一个代码模块中。在添加常数清单或者添加可能保存在文本文件中的代码段时,这个功能很有用。将文本文件插入代码的步骤如下:
从[工程资源管理器]窗口,选定要插入代码的窗体或模块;
选取[查看代码]按钮,将光标移动到代码编辑器中要插入代码的地方;
选择菜单[编辑]/[插入文件];
选定欲插入的文本文件名,单击[打开]按钮。
五、使用工程中的文件
通常,工具箱里出现的控件只是标准控件,而工程中常常要用到一些非标准控件。这时,要向工具箱中添加需要的控件。因为任何给定的控件,在将其添加到工程的窗体之前。必须先放入工具箱内。
1、在工程中添加ActiveX控件
ActiveX控件是指一些遵循Microsoft ActiveX技术规范的可执行的代码。ActiveX是网络中的一种新技术,VB为用户提供了多种这样的控件,可以用它来建立网络环境中 的 动态的信息处理。将ActiveX控件和可插入对象添加到工具箱中之后就能将它们添加到工程中,将控件添加到工程的工具箱中步骤如下:
选择菜单[工程]/[部件],出现[部件]对话框(对话框有三个选择项,[控件]、[设计器]和[可插入对象]);
要向工具箱添加控件或插入对象,选定控件名左面的复选框。为查看具有.ocx文件扩展名的控件,选定[控件]选 项卡;
选 取[确定]按钮,关闭[部件]对话框。
2、 从工程中删除控件
从工程中删除控件的步骤如下:
单击菜单[工程]/[部件],出现[部件]对话框;
清除要删除的每一个控件旁边的复选框,这些控件的图标将从工具箱内删除。
3、 使用其它应用程序的对象
在VB中还可以使用来自其它应用程序的对象。在使其它应用程序的对象在代码中可以使用,但不是作为控件,应设置对那个应用程序的对象库的引用。添加对其它应用程序的对象库的引用的步骤如下:
选择菜单[工程]/[引用],出现[引用]对话框;
选定欲添入工程的每个引用旁边的复选 框。要添加未列入[引用]对话框的应用 程序的引用,选取[浏览]按钮,然后选定这个应用 程序;
单击[确定],在工程中添加所选定的引用。
4、 使用资源文件
资源文件允许将某一应用程序使用的全部特定版本的正文和位图汇集于一处。可以包含常数声明、图标、屏幕文本和其它可在本地化版之间或在各种修订版之间或特殊配置间改变的资料。在工程中添加文件步骤如下:
单击菜单[工程]/[添加文件],出现[添加文件]对话框;
选定一个存在的资源文件并单击[打开]。一个工程只能有一个资源文件;如果添加第二个具有.res扩展名的文件,则会产生错误。
六、制作和运行可执行文件
工程设计完成之后,在VB环境中可以运行,但是设计的应用程序最终要脱离VB环境在Windows中直接运行,这就需要将工程制作为Windows平台下的可执行文件 。在VB中制作可执行文件的步骤如下:
从[文件]菜单中选取[制作projectname.exe],这里projectname是工程名。出现[生成工程]对话框;
在[文件名]文本框中输入文件名,或浏览有关目录,选定一个现有文件名。[保存在]列表框中选择可执行文件保存的位置;
单击[选项]按钮,可以在[工程属性]对话框里规定一些有关该 执行文件特定版本的详细资料;
若修改工程的版本号,则要设置合适的[主版本号]、[次版本号]和[修订号]。选 定[自动升级],那么么每一次运行该工程的[制作projectname.exe]命令时,[修订号]都会自动增加;
如果要为应用程序指定新文件名,在[应用程序]下将新名键入[标题]框。如果要指定新图标,则从[图标]框里选取一个;
在[版本信息]栏里的文本框中可以输入 各种版本专用注释;
单击[确定],关闭[工程属性]对话框,再在[制作projectname.exe]对话框中选取[确定],编绎和连接该可执行文件。
七、 设置工程属性
用户常常在[属性窗口]中设置各种属性,但是工程 的属性设置是个例外。在[属性窗口]中只能设置工程的Name属性,对于工程的其它属性,VB使用了[工程属性]对话框设置每个工程的属性。属性设置被保存在工程文件中。单击[工程]/[projectname属性],弹出[工程属性]对话框。
工程中经常设置的属性
属性选项 |
描述 |
启动对象 |
应用运行时显示的第一个窗体或Sub Main()过程。 |
工程名称 |
工程名,它以字母开头,不超过37个字符,不许含有句号、空格。 |
帮助文件名 |
与工程相关的帮助文件。 |
工程帮助上下文标识符 |
设置帮助的上下文相关号,在对象浏览器中选中工程并单击"?"可以显示相关帮助。 |
工程描述 |
对工程形象的描述,可以在引用或对象浏览器中出现。 |
八、使用向导和外接程序
VB允许选择和管理外接程序,这是对VB功能的扩允。向导是一种外接程序,它可以简化某些任务,VB包含 有几种向导,要使外接程序出现在"外接程序管理器"对话框中,外接程序的开发者必须保证它已正确安装。
1、 使用外接程序管理器
使用外接程序管理器可以对工程加或删除外接程序,从"外接程序"菜单可以对其进行访问。"外接程序管理器"对话框列出可用的外接程序。安装外接程序的步骤如下:
从"外接程序"菜单,选取"外接程序管理器";
从列表中突出显示一个外接程序并单击"加载行为"中想要的行为。要卸载一个外接程序或阻止其加载,清除所有的"加载行为"框;
当做完选定操作后,选取"确定"。按照"加载行为"的不同选择,VB连接被选定的外接程序,断开与被清除的外接程序的连接。VB保存在编辑会话期间的外接程序选定。
2、 使用向导
在向导的帮助下,创建VB应用程序变得非常容易。根据选择生成窗体和窗体后面的代码,用户只需为特有的功能添加代码。VB包含 有创建用于数据库的窗体的数据窗体向导、在互联网的应用程序里用于变换窗体的ActiveX文档向导、使用外接程序管理器可安装或删除向导。一旦安装,它们将作为[外接程序]菜单上的选项出现。某些向导也能够以图标的形式出现在有关的对话框中。
下面介绍使用[应用程序向导]的步骤如下:
启动[应用程序向导],可以选择[外接程序]/[应用程序向导]。或者选择菜单[文件]/[新建工程],打开[新建工程对话框],选定[应用程序向导]图标,单击[确定]按钮。开始执行建立新的VB应用程序工程向导;
选择要加载的配置文件 ,单击[下一步]按钮进入界面类型选择窗口;
选择多文档MDI界面,并在文本框中输入应用的名字"Myapp",单击[下一步]按钮,进入菜单定义窗口,在菜单定义窗口中预置了一些菜单,分为菜单和子菜单,可以不用它们,重新定义自己的菜单;
在窗口中单击[下一步]按钮,进入工具栏定义窗口,窗口中已定义了部分工具按钮,预定义的按钮显示在窗口的上方。在窗口中有两个列表框,左边是可用按钮,右边是已选预定义了部份工具按钮,预定义的按钮显示在窗口的上方。 在窗口中有两个列表框,左边是可用按钮,右边是已选按钮,两框中间按钮为添加、删除、移动按钮。单击按钮[重新设置]可重新设置工具栏;
在应用程序向导---自定义工具栏 窗口中单击[下一步]进入资源文件选择窗口,在在窗口中选择[是],在进入下一个向导窗口前先打开资源管理器窗口,再进入向导窗口,此时资源编辑器窗口不能使用,直到向导的其它选项结束后才能进行资源的设置;
在应用程序向导---资源 窗口中单击[下一步]进入Intenet连接选择窗口,使用该窗口可以在应用中使用Web浏览器,通过它实现对Intemet的浏览,还可以在浏览窗口中打开HomePage;
单击[下一步]进入标准窗体选择窗口,可以选择四种窗体,自动添加到应用中;
单击[下一步]进入数据访问定义窗口,在此定义数据窗体。单击[创建新窗体]按钮进 入数据窗体向导, 在数据窗体向导中可以建产本地或远程数据库的操作窗体,建 立的数据访问窗体会在图的列表框中出现,可以选择项要添加到应用中的窗体;
单击[下一步]进入向导完成窗口,窗体提示用户收集系统信息的工作已经完成,可以建立应用了,根据要求保存;
单击[完成]按钮就完成了根据向导创建应用工程的工作。在[工程资源管理器]窗口中可以看到由向导完成添加的窗体和模块等对象。
|