VB中资源文件的使用方法

VB中资源文件的使用方法,第1张

在几乎所有的Windows应用程序中都拥有资源文件,这些文件定义使用应用程序将要显示很多的用户界面元素,以及提供程序所需要的各种类型数据的存储场所。资源文件在VC应用程序中应用十分广泛,在VB应用中却很少提及它。其实在开发VB应用程序时,一样可以将要用到的字符串、位图、图标和其它类型的数据等做成一个资源文件。因为这样做至少有以下几个优点:(1)提高性能减少内存空间的占用,这是因为字符串、位图、图标和数据可以不必在程序启动或调用窗体时就全部加载,而是根据需要随时从资源文件中加载。(2)将所需要的资源文件中单独存放在一个资源文件中,使用移植程序和更改一些界面显示变得十分简单,不必访问程序的源代码。首先,我们先了解一下windows应用程序中一般经常使用的资源:位图:位图是用于创建应用程序用户界面的图像。例如,用户可以为工具栏按钮创建一套位图,也可以创建在其它窗口上显示的位图。一般来说,都是在图像编辑器中创建位图,然后再将该位图添加到资源文件中。图标:图标是类似于位图的小图像,然而,虽然位图可以具有任意大小的尺寸,但是图标却小得多,通常为16*16像素或32*32像素。图标使用的很多方法与位图一样。然而,图标通常被用作代表最小化应用程序的图象、代表应用程序文档类型的图像和其它类型的应用系统。字符串表:就是指文本串的一个表格,通常来说字符串用来显示菜单命令的提示、对话框中和消息框中显示的信息。要访问串表格中的文本串,需引用串的ID,它与定义表格的源文件中的串相联系。光标:光标是代表鼠标在屏幕上的位置的图像。尽管windows 系统定义和许多类型的光标,但用户也可以创建自己需要的光标。定制资源:定制资源是用户想存储在其应用程序资源文件中的任何类型的数据。这些数据可以是文本文件或二进制文件,用户可以用任何喜欢的方式定制资源。资源文件只是作为存储区域。创建了定制资源,可以避免必须从磁盘文件中加载数据,因为数据随资源文件一起加载。对话框:对话框的资源定义包括样式标志(控制对话框外观及行为的值)以及对话框中含控件的大小和位置。菜单栏:用户应用程序的菜单栏也可以在资源文件中定义。可以在资源文件中指定命令和命令的ID,以用命令在菜单中的位置。加速:加速也称为热键。它们是用户快速选取命令时所按下的键,使用热键时,不必在应用程序的菜单中寻找命令。加速在一个表格中定义,这个表将按键与命令资源的ID联系起来。那么在VB开发环境中如何使用这些资源呢?1、添加资源文件编辑器, 启动VB6.0的IDE集成环境,新建一个工种。点选菜单“Add -Ins”下的“Add -in Manager”,在d出的对话框的列表框中选择“VB Resource (RES) Editor”,单击“OK“后退出对话框。这样在“Tools”菜单栏中就有一项“Resource Editor”了。打开这个工具就可以进行资源文件的编辑了。2、编辑资源文件在资源编辑器中编辑资源文件非常简单。它可是编辑我们在上面先提到的位图、图标、光标、字符串及定制资源五种类型的资源,如图1所示:在进行编辑时,点击相应的图标就可以添加资源了。编辑资源的方法也很容易,以添加图片为例看一看添加位图的方法:点击添加位图按钮,在d出的对话框中选择一个位图文件,单击“OK”后,位图的添加就完成了,在这里要注意属性按钮,点击它以后,可以选择请语言版本并输入资源的ID号,这个ID号是标识一类资源的唯一编号,必须记住资源的ID号,以使在应用程序中调用。编辑好资源后,关闭资源编辑器,资文件自动加入新建的工种内。另外,也必须将资源文件保存。其它资源的编辑方法也大体上一样。3、使用资源文件,在应用程序中调用资源文件与直接使用资源基本上是一致的。对了,在一个工种中只能保存一个资源文件,在使用资源文件之前,请必须保证资源已经加入到资源文件中了。调用资源文件中资源的函数有:LoadResString 返回一个文本字符串。语法:LoadResString(index) index必需是一个整数,它用来指定资源文件中数据的标识符(即经常提到的ID号),如果ID号为1的资源保留给应用程序图标。LoadResPicture 用以从资源 (.res) 文件装载位图、图标或光标。它的语法:LoadResPicture(index, format)LoadResPicture 函数的语法包含下列部分:参数 描述index 一个整数或字符串,它用来指定资源文件中数据的标识 符 (ID) 。ID标识符为 1 的资源保留给应用程序的图标。format 必需的。一个数值或常数,如下列“设值"中所描述的, 指定返回数据的格式。用于 format 的设置值有: 常数 值 描述vbResBitmap 位数 0 位图资源vbResIcon 图标 1 图标资源vbResCursor 2 光标资源说明:可以使用 LoadResPicture 函数代替对存储在 Form 或控件的 Picture 属性中的图形的引用。LoadResData 返回一个Byte数组,用以从资源 (.res) 文件装载若干可能类型的数据。语法为:LoadResData(index, format)LoadResData 函数的语法包含下列部分:部分 描述index 必需的。一个整数或字符串,它用来指定资源文件中数据的标识 符 (ID)。ID 标识为 1 的资源保留给应用程序的图标。Format 必需的。一个数值,它用来按照下列“设置值"中的描述,指定返 回数据的原始格式。该数值也可以是用户定义资源的字符串名。设置值 用于 format 的设置值有: 设置值 描述1 光标资源2 位图资源3 图标资源4 菜单资源5 对话框6 字符串资源7 字体目录资源8 字体资源9 加速键表10 用户定义资源12 群组光标14 群组图标说明:LoadResData 从资源文件装载的数据可以达到 64K。最后我们用一个简单的例子来说明这几个函数的用法:(1)建立一个窗体,在窗体上放置三个按钮,一个图片框用来显示图片、图标。其属性如图2所示。按照前面讲述的方法添加资源文件编辑器并建立工程文件,里面包含一个字符串,位图、图标、光标和一个自定义的资源。程序代码如下所示:Private Sub cmdLoadData_Click()Dim tt As ByteEnd SubPrivate Sub cmdLoadPicture_Click()picTest.Picture = LoadResPicture(101, 1)\'如何为0表示位图,为2表示光标End SubPrivate Sub cmdLoadstring_Click()Dim str As Stringstr = LoadResString(101)MsgBox strEnd Sub

首先做一个资源文件并添加到工程中

可以用资源编辑器外接程序来制作资源文件:

资源编辑器外接程序(如图)

资源编辑器外接程序增加了在 Visual Basic 集成开发环境中使用资源文件 (.res) 的能力。资源文件是由资源编辑器自动编译的,因此就不再需要一个单独的资源编辑器或是.rc 文件了。

可以使用资源编辑器来:

向工程添加一个资源文件 (.res)。

向一个资源文件添加新的字符串表、游标、位图、图标或自定义资源。

在一个资源文件中编辑资源的属性。

从一个资源文件中删除资源。

详细信息 要想了解有关资源文件以及在一个工程中如何使用它们的详细信息,请参阅《Visual Basic 程序员指南》中的“使用资源文件”。

加载或卸载资源编辑器

资源编辑器外接程序是从“外接程序”菜单的“外接程序管理器...”对话框中加载的。可以通过选中“可用外接程序”列表中的“资源编辑器”,选中“加载/卸载”复选框来加载资源编辑器;您可以通过清除复选框来卸载它。当选中资源编辑器外接程序时,每次重新启动 Visual Basic 它都自动地加载,直到清除了该复选框。

当加载了资源编辑器时,一个“资源编辑器”按钮被添加到“标准型”工具栏上。同时也添加了两个新的菜单命令:“工程”菜单上的“添加新资源文件”和“工具”菜单上的“资源编辑器”。

“资源编辑器”窗口 (资源编辑器外接程序)

可以使用“资源编辑器”窗口添加、删除和编辑与您的工程相关联的资源文件(.res)中的资源。一次只能编辑一个资源文件;一个工程只能包含一个资源文件。

“资源编辑器”窗口是可连接的。

可用如下方法打开“资源编辑器”窗口:

在“工程”窗口中,双击资源文件,或选定资源文件并按下 ENTER键。

在“工具”菜单中,选定“资源编辑器”命令。

使用 Visual Basic的“标准型”工具栏上的“资源编辑器”工具栏按钮。

注意 为使“资源编辑器”可见,必须在“外接程序管理器...”对话框中选定“资源编辑器”外接程序。

Window要素

“列表窗口”

显示包含在选定资源文件中的资源类型和单个资源的分层结构列表。

“工具栏”

包含表示资源编辑器各种 *** 作的快捷方式按钮。

“状态栏”

显示图标和消息,指示文件已经被改变但没有保存。

利用资源文件进行工作

资源文件允许将应用程序特定版本的全部文本和位图收集到一起。这可以包括常数声明、图标、屏幕文本,以及可能在本地化版本之间或在修订版本或特定的配置之间发生变化的其它材料。

向工程中添加资源

可以使用资源编译器外接程序创建资源文件。编译过的资源文件带有 .res 扩展名。每个工程只能包含一个资源文件。

资源文件实际上是由一系列独立的字符串、位图或者其它项目组成的,其中每一项都有一个唯一的标识符。标识符可能是 Long 类型或 String 类型,取决于资源所代表的数据类型。例如,字符串的标识符为 Long 型,而位图的标识符则为 Long 型或 String 型。如想在代码中检索资源,应知道每个资源的标识符。引用资源的函数参数可以使用 Variant 数据类型。

要将新资源文件添加到您的工程中,请按照以下步骤执行:

从“工具”菜单中选择“资源编辑器”,将在资源编辑器窗口打开一个空的资源文件。

注意 必须安装资源编辑器外接程序。有关安装外接程序的信息,请参阅“管理工程”中的“使用向导和外接程序”。

在资源编辑器工具栏中选择“保存”按钮以保存资源文件。文件将被添加到“相关文档”部分下的“工程资源管理器”中。

要将已存在的资源文件添加到您的工程中,请

从“工程”菜单中选择“添加新资源”。您的工程中任何已存在的资源文件将被替换。

警告 假如您对已存在的资源文件做任何修改,将可能影响使用此资源文件的其它工程。确保您将文件保存在一个新文件名下。

注意 必须安装资源编辑器外接程序。有关安装外接程序的信息,请参阅“管理工程”中的“使用向导和外接程序”。

详细信息 关于资源文件的详细信息,请参阅“国际化”中的“使用本地化资源文件”。

注意 Windows 资源文件随 16 位或 32 位应用程序而不同,如果试图将一个 16 位资源文件添加到一个工程中,Visual Basic 将产生一条错误信息。

为了将资源文件添加到工程中,可从“工程”菜单中选择“添加文件”命令,这与将别的文件添加至工程中完全一样。一个工程只能接受一个资源文件,如果试图添加第二个扩展名为 .res 的文件,将产生错误。

在代码中使用资源

Visual Basic 提供了三个函数从资源文件中检索数据以供在代码中使用。

函数 描述

LoadResString 返回一个文本字符串。

LoadResPicture 返回一个 Picture 对象,例如位图、图标或光标。

LoadResData 返回一个 Byte 数组,用于象 .wav 之类的文件。

详细信息 请参阅相应函数主题。

可用下列函数读取资源:

LoadResString 函数

用以从资源 (.res) 文件装载字符串。

语法

LoadResString(index)

LoadResString 函数的语法包含下列部分:

部分 描述

index 必需的。一个整数,它用来指定资源文件中数据的标识符 (ID) 。ID标识符为 1 的资源保留给应用程序图标。

说明

可以使用 LoadResString 函数代替代码中的字符串文字量。

将数据的长字符串存储在资源文件中并从该资源文件访问它们能改进装载时间,这是因为您可以根据需要从资源文件单独装载,而不是在装载窗体时一并全部装载。

LoadResString 的使用对于 Visual Basic 应用程序的本地化有好处,这是因为需要翻译的资源一个资源文件中被隔离,并且无须访问源代码或重新编译该应用程序。

LoadResPicture 函数

用以从资源 (.res) 文件装载位图、图标或光标。

语法

LoadResPicture(index, format)

LoadResPicture 函数的语法包含下列部分:

部分 描述

index 必需的。一个整数或字符串,它用来指定资源文件中数据的标识符 (ID) 。ID标识符为 1 的资源保留给应用程序的图标。

format 必需的。一个数值或常数,如下列“设置值”中所描述的,指定返回数据的格式。

设置值

用于 format 的设置值有:

常数 值 描述

vbResBitmap 位图 0 位图资源

vbResIcon 图标 1 图标资源

vbResCursor 2 光标资源

说明

可以使用 LoadResPicture 函数代替对存储在 Form 或控件的 Picture 属性中的图形的引用。

将位图、图标或光标存储在资源文件中并从该资源文件对它们进行访问能改进装载时间,这是因为可以根据需要从资源文件单独装载,而不是在装载 Form 时一并全部装载。

LoadResPicture 的使用对于 Visual Basic 应用程序的本地化有好处,这是因为需要翻译的资源在一个资源文件中被隔离,并且无须访问源代码或重新编译该应用程序。

LoadResData 函数

用以从资源 (.res) 文件装载若干可能类型的数据,并返回一个 Byte 数组。

语法

LoadResData(index, format)

LoadResData 函数的语法包含下列部分:

部分 描述

index 必需的。一个整数或字符串,它用来指定资源文件中数据的标识符 (ID)。ID 标识符为 1 的资源保留给应用程序的图标。

Format 必需的。一个数值,它用来按照下列“设置值”中的描述,指定返回数据的原始格式。该数值也可以是用户定义资源的字符串名。

设置值

用于 format 的设置值有:

设置 描述

1 光标资源

2 位图资源

3 图标资源

4 菜单资源

5 对话框

6 字符串资源

7 字体目录资源

8 字体资源

9 加速键表

10 用户定义资源

12 群组光标

14 群组图标

说明

LoadResData 从资源文件装载的数据可以达到 64K。

对位图、图标、光标资源类型使用 LoadResData 将返回包含该资源中的实际二进制位的字符串。如果想使用实际的位图、图标或资源,请使用 LoadResPicture oˉêy.

LoadResData 的使用对于 Visual Basic 应用程序本地化有好处,这是因为需要翻译的资源在一个资源文件中被隔离,并且无须访问源代码或重新编译该应用程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11904093.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存