欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

资源文件(.RES)的应用

发布时间:2023/12/9 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 资源文件(.RES)的应用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

资源档有什麽用处呢?最重要的有两个地方
1.国际发行:我们将Application中所有的文字从Resource用读取,那麽,只要更动
            Resource档的内容,就可以用不同语言的方式来显示。
2.管理资源:例如说,我们的AP中用了数百张的图片或声音,不用Resource档的话,
            在发行出去的AP中,就必需有数百个图形、声音档,那似乎不太好,使
            用Resource档,便可以将这些图形、声音放进一个.Res档。

使用RC.exe来Compiler我们所定义的Resource档, RC.EXE在vb5.0光碟中的/TOOLS/RESOURCE 

Resources 可分成两大部份:

- String resources (text strings such as "Hello World").
- Binary resources (icons, bitmaps, cursors, sounds, video等)


String Resources

语法:

STRINGTABLE [load-option] [mem-option]
BEGIN
stringID string
.
    .
    .
END

叁数说明 :
- load-option 可以是以下两种

OptionDescription
-----------------
PRELOADResource is loaded immediately.
LOADONCALL(Default) Resource is loaded when called.

- mem-option 可以是以下三种
OptionDescription
-----------------
FIXEDResource remains at a fixed memory location.
MOVEABLEResource can be moved if necessary in order to compact memory.
DISCARDABLEResource can be discarded if no longer needed.
- stringID 自行定义的integer,用来定义字串 resource.- string 我们定义的字串,字串前後要用双引号(")将之包围起来,字串长度不可超过255 bytes,而且字串要在同一行 BINARY RESOURCES 语法:nameID keyword [load-option] [mem-option] filename叁数:- nameID 定义一个於以下keyword类别中,一个唯一的名称或数字,即,有三个BITMAP类别的Resource,其nameID可以分别为1,2,3不重覆,而另有三个ICON的资源,其nameID亦可分别为1,2,3,不会和BITMAP的1,2,3相冲突。注:ICON类别的nameID不可以为0,0保留给 Visual Basic icon。nameID亦可以为字串 - keyword 定义资源类别
OptionDescription
-----------------
BITMAPDefines a bitmap (.BMP)
CURSORDefines a cursor (.CUR)
ICONDefines an icon (.ICO)
SOUNDDefines a wave file (.WAV)
VIDEODefines a video file (.AVI)

- load-option
OptionDescription
-----------------
PRELOADResource is loaded immediately.
LOADONCALL(Default) Resource is loaded when called.

- mem-option
OptionDescription
-----------------
FIXEDResource remains at a fixed memory location.
MOVEABLEResource can be moved if necessary in order to compact memory.
DISCARDABLEResource can be discarded if no longer needed.
default for binary resources is MOVEABLE. - filename 资源所在的档名
Compiler的语法:rc /r [options] SourceFile(.RC) - /r 只Compiler .RC file , not linked to any executable.可用rc /? 来查语法EXAMPLERC /r /fo TEST32.RES TEST.RC
上面的表格中是读取Test.RC的定义,而产生TEST32.RES,这个档便是我们程式设计中所需的资源档,而在vb5.0中如何来使用呢,在 "专案功能表 的 新增档案"中来选取该Resource file(.RES) ,之後在专案总管中,会出现
- ---Project1+-- 表单--- 相关文件| ------TEST32.RES
那便可以使用 LoadResString LoadResPicture LoadResData来抓取相关的资料了 以下是Test.RC的内容,而BitMap, Icon写的档名,请自行更改成您对映的档案
#define IDS_HELLO 1 #define IDS_GOODBYE 2STRINGTABLE BEGINIDS_HELLO, "Hello"IDS_GOODBYE, "Goodbye"3, "This is a Test" END STRINGTABLE BEGIN101, "您好"102, "再见了"103, "这是一个测试" END/ // Bitmap 1 BITMAP "CLI.BMP" 101 BITMAP "CLI2.BMP" BITMAP3 BITMAP "多多.BMP"// ICON /// 1 ICON CLIENT.ICO
以下是在form中,需3个Command Button 3个Label 1个PictureBox 另需在 专案功能表 中选 新增档案 并进而选取Test32.Res
Option ExplicitPrivate Sub Command1_Click() Call ShowRtn(0) End SubPrivate Sub ShowRtn(ByVal i As Long) Label1.Caption = LoadResString(i + 1) Label2.Caption = LoadResString(i + 2) Label3.Caption = LoadResString(i + 3) Set Picture1 = LoadResPicture(i + 1, vbResBitmap) End SubPrivate Sub Command2_Click() Call ShowRtn(100) End SubPrivate Sub Command3_Click() Set Picture1 = LoadResPicture("BITMAP3", vbResBitmap) End Sub

总结

以上是生活随笔为你收集整理的资源文件(.RES)的应用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。