MFC 加载位图

begodliker 2013-06-16 04:32:58
我在onEraseBkgnd中添加如下代码
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bmp;
bitmap.GetBitmap(&bmp);

CDC dcCompatible;
dcCompatible.CreateCompatibleDC(pDC);

dcCompatible.SelectObject(&bitmap);

CRect rect;
GetClientRect(rect);

pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,
0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);

其中,IDB_BITMAP1是我自己在资源视图里添加的位图。我运行程序后,界面背景还是默认的,没有变成我自己画的位图,请问是什么原因啊。
在线等
...全文
115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dvlinker 2013-06-16
  • 打赏
  • 举报
回复
你确定执行到这个函数了吗?如果是在OnPaint中也有绘图操作,那应该将绘制背景的操作也放到OnPaint中,然后在OnEraseBkgnd中return TRUE
dvlinker 2013-06-16
  • 打赏
  • 举报
回复
是不是没添加WM_ERASEBKGNG的消息映射
rxguoblp 2013-06-16
  • 打赏
  • 举报
回复
代码放错地了,放到OnPaint()或者OnDraw()函数的最后面。 注意加上一句: CDC* pDC = GetDC()
begodliker 2013-06-16
  • 打赏
  • 举报
回复
自己顶一下。。

15,979

社区成员

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

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