显示位图

xwjandxwy 2013-03-11 04:31:29
HBITMAP hbitmap; //将pStatic指向要显示的地方
CStatic *pStatic = NULL;
pStatic=(CStatic*)GetDlgItem(IDC_IMAGE); //根据ID获取Static控件
hbitmap=(HBITMAP)::LoadImage (::AfxGetInstanceHandle(),"2.bmp",
IDB_BITMAP1,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION); //装载资源*.bmp
CBitmap hbmp;
hbmp.Attach(hbitmap);
BITMAP bm;
hbmp.GetBitmap(&bm); //获取图片内容
CDC dcMem; //创建兼容DC
dcMem.CreateCompatibleDC(GetDC());
CBitmap *pOldBitmap=(CBitmap*)dcMem.SelectObject(hbmp);
CRect lRect; //获取Static控件的大小范
pStatic->GetClientRect(&lRect); //在Static控件上显示位图
pStatic->GetDC()->StretchBlt(lRect.left ,lRect.top ,lRect.Width(),lRect.Height(), &dcMem,0 ,0,bm.bmWidth,bm.bmHeight,SRCCOPY);
dcMem.SelectObject(&pOldBitmap);我想在一个static控件中显示一副位图,
我想在一个static控件中显示一副位图,麻烦看一下错在哪里了??编译和链接都没问题
运行时失败
...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
信阳毛尖 2013-03-13
  • 打赏
  • 举报
回复
引用 2 楼 xwjandxwy 的回复:
就是运行时弹出一个对话框,断言失败
你得定位到断言在那一句上啊
xwjandxwy 2013-03-12
  • 打赏
  • 举报
回复
就是运行时弹出一个对话框,断言失败
MoreWindows 2013-03-12
  • 打赏
  • 举报
回复
不要这么麻烦吧。 楼主参考下我写的《Windows界面编程第五篇 静态控件背景透明化》 http://blog.csdn.net/morewindows/article/details/8470452 然后在WM_CTLCOLORSTATIC中使用位图画刷或自贴图都行。 位图画刷或自贴图可以参考《Windows界面编程第一篇 位图背景与位图画刷》 http://blog.csdn.net/morewindows/article/details/8451629
jimette 2013-03-11
  • 打赏
  • 举报
回复
运行时失败 错误是什么?

15,979

社区成员

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

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