首先做一个资源文件并添加到工程中
可以用资源编辑器外接程序来制作资源文件:
资源编辑器外接程序(如图)
资源编辑器外接程序增加了在 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 应用程序本地化有好处,这是因为需要翻译的资源在一个资源文件中被隔离,并且无须访问源代码或重新编译该应用程序。