LoadBitmap第一个参数分析

本文探讨了在MFC和SDK环境下使用LoadBitmap函数时,第一个参数为何必须传入资源所在实例的问题。通过示例代码解释了如何在MFC中使用AfxGetResourceHandle和AfxSetResourceHandle来切换资源DLL句柄,以及在SDK方式下如何获取HINSTANCE。通过阅读,可以清晰理解LoadBitmap的第一个参数的作用。
摘要由CSDN通过智能技术生成

我在程序中这样用的:
HBITMAP   hBitmap;
hBitmap   =   ::LoadBitmap(NULL,MAKEINTRESOURCE(IDB_SHINE));
但是这样hBitmap始终为空,结果搜索了半天,才找到如下方式就好了,我想知道是为什么?
hBitmap   =   ::LoadBitmap(AfxGetResourceHandle(),MAKEINTRESOURCE(IDB_SHINE));

 

-------------------------------------------------------------------------------------------------------------------------

LoadBitmap必须传入资源所在的instance。
下面分MFC和SDK两种方式讨论你的问题。
        1、如果采用MFC方式,可以使用   AfxGetResourceHandle保存当前的资源文件句柄,即你说的hInst。也可以使用AfxSetResourceHandle设置资源DLL的句柄,如:
          hDll=LoadLibrary( "ResourceDLL.dll ");
          if(hDll==NULL)
          AfxMessageBox( "Can 't   Load   the   library ");
          else   AfxMessageBox( "success ");
          AfxSetResourceHandle(hDLL);
          ...
        }
        这样以后你再使用LoadBitmap时,图片将来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值