vs 读取.rc
从习惯上来说,一般对于bmp等图片资源的读取,会采用两种方式:
一,使用loadImage来读取资源,其代码原型为:
HANDLE LoadImage(NINSTANCE hinst, //处理包含被装载图像模块的实例
LPCTSTR lpszName, //处理图像装载
UINT uType, //指定被装载图像类型,比如MAGE_BITMAP:位图;IMAGE_CURSOR:光标;IMAGE_ICON:图标
int cxDesired,int CyDesired,//以像素为单位,图标的宽高
UINT fuLoad); //根据下面复合值列表指定函数值,比如:LR_LOADFROMFILE:根据参数lpszName的值装载图像。
二,建立.rc资源文件,选择Bitmap,然后import。并指定文件索引比如DIB_BITMAP_1。在windows程序中,可使用相关函数直接访问:
图标:LoadIcon()
光标:LoadCursor()
加速表:LoadAccelerators()
位图:LoadBitmap()
菜单:LoadMenu()
字符串:LoadString()
不管如何,加载的两种方式都会实现相同的效果。但是从我个人角度来说,如果游戏的Relase版本的制定,在允许的条件下,我会使用后者。
假如说,在游戏的Relase版本下,我会使用到很多的中文字符串,很使用到一些内存占用不太大的.bmp图片。使用.rc资源文件,我完全可以在做其它语言的版本的时候,只要修改这些中文字符串即可。同时,那些.bmp图片会被打包到.exe中。内存只要不是占用的太大,也算的上是很好的事情嘛。
所以拣选下,老同事对我说的话,以表示对他的感谢。
rc,有个好处,就是,你发布一个程序时,在一定的情况下,可以只提供一个文件即可。它能够把资源打包到exe中,或者一个动态链接库中。如果切换版本,用不同的dll来替换语言。然而现在很多人不会使用。主要原因是目前不流行,即使没有windows这些东西,也是一样过日子。
......