下面介绍如何将光标和声音作为资源编译到可执行文件中,及其使用方法。 第一步:建立一个rc文件. 例如:zpg.rc,内容如下: DemHint WAVE D:\zpg2000Res\DemHint.wav PrintType BITMAP D:\zpg2000Res\PrintType.bmp ArrowDown BITMAP D:\zpg2000Res\ArrowDown.bmp ArrowUp BITMAP D:\zpg2000Res\ArrowUp.bmp ZoomIn CURSOR D:\zpg2000Res\ZoomIn.cur ZoomOut CURSOR D:\zpg2000Res\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(); //确保光标立即改变 注意: 资源文件只在设计期有用,程序编译后,这些资源就被编译到可执行文件中了,所以程序分发时不必带上资源文件。 转自:http://www.cnblogs.com/nemolog/archive/2005/10/28/263655.html

评论