如何向VB里面添加资源

如何向VB里面添加资源,第1张

1、添加资源文件编辑器,

启动VB6.0的IDE集成环境,新建一个工程。点选菜单“Add -Ins”下的“Add -in Manager”,在d出的对话框的列表框中选择“VB Resource (RES) Editor”,单击“OK“后退出对话框。这样在“Tools”菜单栏中就有一项“Resource Editor”了。打开这个工具就可以进行资源文件的编辑了。

2、编辑资源文件

在资源编辑器中编辑资源文件非常简单。它可是编辑我们在上面先提到的位图、图标、光标、字符串及定制资源五种类型的资源,在进行编辑时,点击相应的图标就可以添加资源了。

编辑资源的方法也很容易,以添加图片为例看一看添加位图的方法:

点击添加位图按钮,在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 Byte

End Sub

Private Sub cmdLoadPicture_Click()

picTest.Picture = LoadResPicture(101, 1)

'如何为0表示位图,为2表示光标

End Sub

Private Sub cmdLoadstring_Click()

Dim str As String

str = LoadResString(101)

MsgBox str

End Sub

资源ID 一般在resource.h 中定义, 这个ID是为了方便记忆和橡孝世书写的一个宏定义,该ID实际指向一个数值,该数值代表的是资源中的对象的关联项。也可以说这个数值就代表资源中对应的对象。

资源ID一般会和RC 脚本关联在一起使用, 具体作用会和不同的资源类型不同,有所不同。 比如是位图对象的资源ID,那么你可以通过该ID获取到位图的实际数据或相应的流信息。 如果是菜单梁肢对象,那么其ID对应的就是,菜单相关的内容,可以通过该ID来加载菜单,同时调用方相应的WM_COMMAND消息值也与该ID进行匹配。 等等慎稿

至于字符串资源ID的作用很简单, 就是利用一个数字指向资源中的一个实际字符串。 其应用最多的情况可能就是多语言的项目中, 可以为不同的语言定义不同的字串,既不需要修改代码,直接替换资源就能实现多语种应用的实现。

稍有点麻烦,简单一说。

首先,请确保有一个图标,在此,我假设图标文件的名字为: myicon.ico

请务必把它放在你的工程根目录下,就是和.cpp、.dsw等文件在同一个目录下!

之后,进入你已经创建的Win32 Application工程,在FileView一栏里,Source Files文件夹下,新建一个

Resource Script

资源脚本文件,之后,会在Source Files文件夹下出现一个后缀是 .rc的资源文件。

又在Header Files文件夹下,新建一个头文件,取名为:

resource.h

现在,准备工作已经大体完成,我们开始添加资源。

添加方式大致有两种,我介绍一中很常用的吧,即定义整型标识符。

请在resource.h资源头文激枣件里添加一下代码:

#define ID_MYICON 100

注意,这个“100”你完全可以自己指定,只要和其他资源的整数不冲突即可,不用非跟我写的一样。

在*.rc文件里(*是你创建资源脚本文件时自己起的名字),添加如下代码:

#include "resource.h"

ID_MYICON ICON myicon.ico

注意,此时,你可以手动进入你的工程所在的目录,右键单击.rc文件,选“打开方式”,然后指定用记事本打开,就可以像咐裂上面那样添加代码了。

还有一种方法,可以通过在对话框里“选定”的衡铅闭方式添加,请你自己琢磨吧。

然后,在*.cpp文件里,找到定义窗口类的地方,填写以下内容:

winclass.hIcon = LoadIcon(hinstance, MAKEINTRESOURCE(ID_MYICON))

winclass.hIconSm = LoadIcon(hinstance, MAKEINTRESOURCE(ID_MYICON))

这就全搞定了!!!

同理,你还可以添加.wav声音文件并调用PlaySound函数播放,或者添加一个“鼠标指针”资源,方法都类似。自己想想吧,只不过.rc文件里的“ICON”关键字要分别改成“WAVE”和“CURSOR”,其他地方类似做相应调整即可。


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

原文地址: http://outofmemory.cn/bake/11975763.html

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

发表评论

登录后才能评论

评论列表(0条)

保存