下面先容如何将光标和声音作为资源编译到可执行文件中,及其利用要领。
第一步:成立一个rc文件.
譬喻:zpg.rc,内容如下:
DemHint WAVE D:\Zpg2000\Res\DemHint.wav
PrintType BITMAP D:\Zpg2000\Res\PrintType.bmp
ArrowDown BITMAP D:\Zpg2000\Res\ArrowDown.bmp
ArrowUp BITMAP 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(); //确保光标当即改变
留意:
资源文件只在设计期有用,措施编译后,这些资源就被编译到可执行文件中了,所以措施分发时不必带上资源文件。