VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - VB6中创建资源文件的方法
发表评论(0)作者:, 平台:, 阅读:12593, 日期:2000-05-25
VB6中创建资源文件的方法

石油大学(北京)

顾岱鸿

众所周知,在采用VC开发商品化软件的时,代码项目中都会包括资源文件(.RES),其中包括了应用程序中诸如菜单标题,图标,位图,消息字符串等资源。一般说来,采用资源文件的最大好处就是当需要把你的应用程序在国际上发布时,可以很容易实现语言的转换,对于我们一般的开发用户,这个用处好像不大。其实,抛开这点不谈,资源文件还有一个很大的优点,它可以允许你很容易的将大量的位图和图标直接包含在项目中,从资源文件中处理和安装这些图像要比从单个文件中快的多。


对于采用VB开发的用户来说,同样可以采用类似VC中的资源文件,但在VB6.0推出以前,只能靠手工来建立和编译资源文件,比较麻烦。而在最新的VB6.0企业版中,外挂式包含了资源文件编辑器,极大地方便了资源文件的建立。下面本文将详细介绍资源文件的建立过程。


一.VB中资源文件的分类


通常将资源分为两类:1.字符串资源,包括菜单和文本中使用的字符串,如"Hello World"等;2.二进制资源,如位图(.BMP),图标(.ICO),光标(.CUR),声音(.WAV)和动画(.AVI)等。对于不同的资源,要用不同的调入函数,这在下面会介绍。


二.资源文件的建立


采用如下步骤来建立资源文件:


1.启动VB6.0企业版,新建一个标准 Exe 工程,即工程1,有一个缺省窗体,form1。如果采用应用程序向导建立工程,那么在向导中会提示是否建立资源文件,这也是建立资源文件的一个方法。


2.在[外接程序]菜单下,点击[外接程序管理器],弹出外接程序管理器窗口,窗口左边的列表中列出了所有的外接程序,鼠标双击"VB6资源编辑器"。然后按[确定]按钮返回主窗口。


3.此时系统弹出资源编辑器窗口,同时在主窗口的工具条上添加了快捷按钮。而在弹出的资源编辑器窗口顶部,也有一些快捷按钮中,其中靠右边有五个按钮,分别对应添加字符串,光标,图标, 位图,自定义资源等命令。


4.添加字符串。鼠标点击添加字符串快捷按钮,弹出编辑字符串窗口,系统自动给出字符串资源的标识号,用户可在此依次输入、编辑、修改、删除对应不同菜单,按钮,消息提示的字符串。对不同类型的字符串,用户最好设定特定的标识号规则。在本例中,建立的字符串资源如下:


标识号 中文名称 标识号 中文名称

101 文件[F] 202 确定[Y]

102 打开[O] 303 我的演示程序

103 退出[X]


5.依次建立光标、图标,位图等其他资源,注意对于WAV、AVI等特殊资源,需要采用年[添加自定义资源]方法建立。最后在窗口上树形视图(TreeView)中,分类列出了各项资源。在本例中,各添加了一个位图文、图标文件、光标文件,分别是MyBmp.BMP,MyIcon.ICO,MyCur.CUR。

6.保存资源文件,缺省为工程1.res。


三.在应用程序中使用资源文件


在form1上添加如下控件:


1.按钮:Name=cmdButton1


2.图标控件:Name=img1


3.图形控件:Name=Pic1


在Form1上添加三个菜单,分别为


菜单名 对应标识号(菜单的caption)

1.mnuFile 101

2.mnuOpen 102

3.mnuexit 103

并添加如下代码:

sub form1_load()

'将字符串调入控件属性

mnufile.Caption = LoadResString(101)

mnuopen.Caption = LoadResString(102)

mnuexit.Caption = LoadResString(103)

Cmdbutton1.Caption = LoadResString(202)

Me.Caption = LoadResString(303)

End sub

Sub cmdbutton_Click()

'将图形,图标,鼠标调入相应的控件

Pic1.Picture = LoadResPicture(101, vbResBitmap)

img1.Picture = LoadResPicture(101, vbResIcon)

Me.MousePointer = 99

Me.MouseIcon = LoadResPicture(101, vbResCursor)

End sub


运行,系统编译资源文件,显示的菜单条如资源文件中的字符串所示,然后单击按钮cmdbutton1,调入位图,图标,并改变鼠标形状。

四.函数常量说明


上例中用到的函数LoadResString,LoadResPicture是VB中Global 对象下的方法函数。


用法如下:


1.LoadResString(index):index是必需的一个整数,它用来指定资源文件中数据的标识符 (ID) 。返回一个文本字符串。


2.LoadResPicture(index, format):index必需的。它是一个整数或字符串,它用来指定资源文件中数据的标识符 (ID) ,format是必需的一个数值或常数,指定返回数据的格式。 返回一个 Picture 对象,例如位图、图标或光标。


常量vbResBitmap ,vbResString, vbResIcon是系统常量,可在VB环境下的对象浏览器中找到其定义。


五.结束语


如上所述,资源文件除使软件国际化更容易外,它的优点还在于:


1.提高应用程序的速度,图像文件作为资源文件装载要比从外部文件装载快得多。


2.更容易处理多个图像,在VB4以前的版本中,一般采用多个图像控件装载多个图像,然后每次显示一个图像,有了资源文件,"可以将图像储存在一个资源文件中,然后将各根据需要装载在一个控件中,从而避免了处理多个控件的复杂性并节约了时间"(引自<< VB5.0开发与技巧 >>)。 更详细的介绍可参阅MSDN资料。