mfc dll 加载图片资源

在mfc程序中,我要用到很多BMP图片,我想把这些图片单独封装到一个dll中,然后在主程序中调用这个dll里面的图片资源。可以吗?如何做,有示例吗?... 在mfc程序中,我要用到很多BMP图片,
我想把这些图片单独封装到一个dll中,
然后在主程序中调用这个dll里面的图片资源。
可以吗?如何做,有示例吗?
展开
 我来答
空雪梦见
2014-02-16 · TA获得超过5597个赞
知道大有可为答主
回答量:2522
采纳率:75%
帮助的人:1195万
展开全部
可以。
和将资源放入EXE的方法基本一致。
CBitmap不是有一个LoadBitmap吗,现在你可能需要用API来实现(至少我不知道MFC里怎么操作……)
首先在程序初始化的时候加载DLL,用LoadLibrary即可。它会返回一个HMODULE,你可以保存下来
CBitmap bmp;
如果之前有保存那个HMODULE,现在就
bmp.Attach( ::LoadBitmap(hResDll, IDB_BITMAP1) );
否则
bmp.Attach( ::LoadBitmap(::GetModuleHandle(TEXT("mybmpdll.dll")), IDB_BITMAP1) );
IDB_BITMAP1是资源在DLL中的编号
更多追问追答
追问
提示IDB_BITMAP1未声明的标识符

这个怎么解决???
追答
这是你添加到DLL中的资源的编号。
定义自然是在头文件的resource.h中……
哦对了先提个醒如果同一个代码文件内同时包含了exe的resource.h和dll的resource.h,因为这两个.h文件中可能会出现相同的标识符,这种情况会导致无法编译。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式