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这些东西,也是一样过日子。

     ......

posted @ 2015-03-29 23:39  Code~  阅读(928)  评论(0编辑  收藏  举报