首页 > 学院 > 开发设计 > 正文

怎样使用资源文件

2019-11-17 05:27:39
字体:
来源:转载
供稿:网友

  下面介绍如何将光标和声音作为资源编译到可执行文件中,及其使用方法。

第一步:建立一个rc文件.
例如:zpg.rc,内容如下:
DemHint     WAVE     D:/Zpg2000/Res/DemHint.wav
PRintType    B99vMAP     D:/Zpg2000/Res/PrintType.bmp
ArrowDown    B99vMAP     D:/Zpg2000/Res/ArrowDown.bmp
ArrowUp    B99vMAP     D:/Zpg2000/Res/ArrowUp.bmp
ZoomIn    CURSOR  D:/Zpg2000/Res/ZoomIn.cur
ZoomOut    CURSOR  D:/Zpg2000/Res/ZoomOut.cur

其中第一行为资源名称,第二行为资源类型,第三行为一个存在的文件名.

第二步:编译这个文件.

>BRCC32 zpg.rc
BRCC32.exe 在.../borland/C++ Builder6/bin/目录下,
编译后生成一个资源文件zpg.res

第三步:在程序中声明对资源的使用

在程序中要用到这些资源的单元的#pragma resource "*.dfm"语句后前面添上
#pragma resource "zpg.res"
有时还需添上#pragma package(smart_init)
或在工程主CPP文件中添上
USERES("Zpg.res");
最后怎样调用这个资源呢?看:

调用位图:
    Graphics::TBitmap *pBitmap=new Graphics::TBitmap;
    pBitmap->LoadFromResourceName((unsigned int)HInstance,"PrintType");

播放声音:
    PlaySound("DemHint",HInstance,SND_RESOURCE);

改变光标:
    Screen->Cursors[crZoomIn]=LoadCursor(HInstance,"ZoomIn");    
    //crZoomIn为自定义的光标常量,习惯上为>0的数,而系统定义的一般<0
    PaintBox->Cursor=(TCursor)crZoomIn;
    application->ProcessMessages();    //确保光标立即改变
注重:
资源文件只在设计期有用,程序编译后,这些资源就被编译到可执行文件中了,所以程序分发时不必带上资源文件。 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表