Welcome

首页 / 软件开发 / C++ / 如何使用资源文件

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

第一步:建立一个rc文件.

例如:zpg.rc,内容如下:

DemHint  WAVE  D:pg2000ResDemHint.wav

PrintType BITMAP  D:pg2000ResPrintType.bmp

ArrowDown BITMAP  D:pg2000ResArrowDown.bmp

ArrowUp BITMAP  D:pg2000ResArrowUp.bmp

ZoomIn CURSOR D:pg2000ResoomIn.cur

ZoomOut CURSOR D:pg2000ResoomOut.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(); //确保光标立即改变

注意:

资源文件只在设计期有用,程序编译后,这些资源就被编译到可执行文件中了,所以程序分发时不必带上资源文件。