VB调用资源文件

可以给我代码吗?... 可以给我代码吗? 展开
 我来答
匿名用户
2011-10-21
展开全部
任意类型都可以

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

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

其它类型数据都可以用二进制读取:

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

VB中资源文件的使用方法

在几乎所有的Windows应用程序中都拥有资源文件,这些文件定义使用应用程序将要显示很多的用户界面元素,以及提供程序所需要的各种类型数据的存储场所。资源文件在VC应用程序中应用十分广泛,在VB应用中却很少提及它。其实在开发VB应用程序时,一样可以将要用到的字符串、位图、图标和其它类型的数据等做成一个资源文件。因为这样做至少有以下几个优点:(1)提高性能减少内存空间的占用,这是因为字符串、位图、图标和数据可以不必在程序启动或调用窗体时就全部加载,而是根据需要随时从资源文件中加载。(2)将所需要的资源文件中单独存放在一个资源文件中,使用移植程序和更改一些界面显示变得十分简单,不必访问程序的源代码。
下面就和大家具体谈谈如何在VB中建立和使用资源文件。
首先,我们先了解一下windows应用程序中一般经常使用的资源:
位图:位图是用于创建应用程序用户界面的图像。例如,用户可以为工具栏按钮创建一套位图,也可以创建在其它窗口上显示的位图。一般来说,都是在图像编辑器中创建位图,然后再将该位图添加到资源文件中。
图标:图标是类似于位图的小图像,然而,虽然位图可以具有任意大小的尺寸,但是图标却小得多,通常为16*16像素或32*32像素。图标使用的很多方法与位图一样。然而,图标通常被用作代表最小化应用程序的图象、代表应用程序文档类型的图像和其它类型的应用系统。
字符串表:就是指文本串的一个表格,通常来说字符串用来显示菜单命令的提示、对话框中和消息框中显示的信息。要访问串表格中的文本串,需引用串的ID,它与定义表格的源文件中的串相联系。
光标:光标是代表鼠标在屏幕上的位置的图像。尽管windows 系统定义和许多类型的光标,但用户也可以创建自己需要的光标。
定制资源:定制资源是用户想存储在其应用程序资源文件中的任何类型的数据。这些数据可以是文本文件或二进制文件,用户可以用任何喜欢的方式定制资源。资源文件只是作为存储区域。创建了定制资源,可以避免必须从磁盘文件中加载数据,因为数据随资源文件一起加载。
对话框:对话框的资源定义包括样式标志(控制对话框外观及行为的值)以及对话框中含控件的大小和位置。
菜单栏:用户应用程序的菜单栏也可以在资源文件中定义。可以在资源文件中指定命令和命令的ID,以用命令在菜单中的位置。
加速器:加速器也称为热键。它们是用户快速选取命令时所按下的键,使用热键时,不必在应用程序的菜单中寻找命令。加速器在一个表格中定义,这个表将按键与命令资源的ID联系起来。
那么在VB开发环境中如何使用这些资源呢?
1、添加资源文件编辑器,
启动VB6.0的IDE集成环境,新建一个工种。点选菜单“外接程序”下的“外接程序管理器”,在弹出的对话框的列表框中选择“VB 6资源编辑器”,选择加载并单击“确定“后退出对话框。这样在“工具”菜单栏中就有一项“vb资源编程器”了。打开这个工具就可以进行资源文件的编辑了。
2、编辑资源文件
在资源编辑器中编辑资源文件非常简单。它可是编辑我们在上面先提到的位图、图标、光标、字符串及定制资源五种类型的资源,如图1所示:
在进行编辑时,点击相应的图标就可以添加资源了。
编辑资源的方法也很容易,以添加图片为例看一看添加位图的方法:点击添加位图按钮,在弹出的对话框中选择一个位图文件,单击“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

还有很多内容,就不一一复制了,你自己去看下吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
墨易展寒烟
2020-03-13 · TA获得超过4114个赞
知道大有可为答主
回答量:3010
采纳率:29%
帮助的人:357万
展开全部
你那个文本文件做成资源文件时的代号要正确。从你的描述来看,显然不是2,也不是101。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
管迪励素华
2019-05-28 · TA获得超过3771个赞
知道小有建树答主
回答量:2998
采纳率:31%
帮助的人:158万
展开全部
看完下面你就知道自己错在哪里了
所谓资源文件,就是指将在程序运行时用到的资源集中在一起的一个文件。一个资源文件可以包括文字(TEXT)、位图(BITMAP)。图标(ICON)等。并且在程序中调用时不用指明路径,这就简化了程序的编写并减少了发生错误的可能。现在我就以一个小程序为例讲述资源文件的一些使用方法。
这个工程运行后,当点击【未来】按钮时中间图像将依次变换为夏、秋、冬、春……点击【从前】按钮则以相反顺序转动图片(源程序附后)。
首先建立春、夏、秋、冬四幅位图,均以.BMP格式保存在C:\TEST\下。然后打开记事本编写资源文件,
内容如下:
100
bitmap
spring.bmp
200
bitmap
summer.bmp
300
bitmap
autumn.bmp
400
bitmap
winter.bmp
其中数字表示此项的ID号码,此号码很重要,它直接影响调用!BITMAP表示以位图方式保存而最后的部分为文件名。将此文件保存为TEST.RC。
接下来编译此资源文件。在C:\Visual
Basic\Wizards目录下找到RC.EXE文件。在MS-DOS方式下键人C:\rc
/r
c:\test.test.rc(键入rc
/?将会得到帮助),在编译成功后在C:\TEST\中将发现增加了一个名为TEST.RES的文件。
完成了上面的工作,接下来就可以编写工程了。首先建立一个image控件img和两个Command控件cmdc、cmdw。然后建立一个时钟控件,设其Interval属性为1000。最后在[通用]中声明一个名为iid的整形变量:
Dim
iid
As
Integer
并初始化img和iid:
img.Picture=LoadResPicture(100,vbResBitmap)
iid=100
其中LoadResPicture(id,model)为从资源文件中调用图像的函数,100表示ID号为100的项,vbResBitmap为一常量,值为0,表示以位图方式打开。然后在两个Command控件中加入源程序代码。
最后在工程资源管理器中用鼠标右键单击选择【添加】--$#@62;【添加文件】,加入TEST.RES。
至此工程可谓大功告成,按F5运行一下,希望你会喜欢。还有一点要强调的是一个工程只能有一个工程文件!附源程序:
Option
Explicit
Dim
iid
As
Integer
Private
Sub
comc_Click()
iid
=
iid
-
100
If
iid
$#@60;
100
Then
iid
=
400
img.Picture
=
LoadRespicture(iid.vbResBitmap)
End
If
End
Sub
Private
Sub
comw_Click()
d
=
100
+
iid
If
iid
$#@62;
400
Then
iid
=
100
img.Picture
=
LoadResPicture(iid,vbResBitmap)
End
If
End
Sub
Private
Sub
Form_Load()
img.Picture
=
LoadResPicture(10O,vbResBitmap)
iid
=
100
End
Sub
Private
Sub
Timer1_Timer()
iid
=
100
+
iid
If
iid
$#@62;
400
Then
iid
=
100
img.Picture
=
LoadResPicture(iid,vbResBitmap)
End
If
End
Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式