MFC DLL中CImage不能加载硬盘图片?

shell8232565 2010-01-27 07:33:07
我在一个MFC DLL中用CImage对象load硬盘上的图片资源,没有显示;但是在另外一个MFC Application中用一摸一样的代码就能成功,请问为什么?
代码大概如下:
CImage image;
image.load("e:\\a.bmp");
cdc *pDC=(CDC*)getDc();
cdc dc;
dc.selectobject(image);
RECT rect;
getdlgitem(IDC_STATIC)->getclientrect(&rect);
pDC->Bitblt(rect.topleft.x,rect.topleft.y,rect.getwidth(),rect.getheight(),&dc,0,0,SRCCOPY);
ReleaseDC(pDC);
...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainsly 2010-01-28
  • 打赏
  • 举报
回复
getdlgitem(IDC_STATIC)->getclientrect(&rect);
确认一下区域是否正确

DLL中的资源与主程序是不同的,因此需要你确认一下是不是IDC_STATIC的问题

搜搜AfxSetResourceHandle()相关介绍看看
hurryboylqs 2010-01-28
  • 打赏
  • 举报
回复
你程序是这么写代码的?
代码乱七八糟那

CImage image;
image.load("e:\\a.bmp");
RECT rect;
getdlgitem(IDC_STATIC)->getclientrect(&rect);
CClientDC dc(getdlgitem(IDC_STATIC));
image.Draw(dc,rect.topleft.x,rect.topleft.y,rect.getwidth(),rect.getheight()...);
sjdev 2010-01-28
  • 打赏
  • 举报
回复
CDC dc;
dc.CreateCompatibleDC(pDC);
dc.selectobject(image);
shell8232565 2010-01-28
  • 打赏
  • 举报
回复
回楼上,已经试过这种办法,不能显示
蒋晟 2010-01-27
  • 打赏
  • 举报
回复
画图应该用CImage::Draw
shell8232565 2010-01-27
  • 打赏
  • 举报
回复
求助...

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧