我加载了两张图片,可是在显示第二张的时候出问题了。编译通过,但是运行时弹出Debug Assertion Failed窗口,无法正常运行。代码如下:
void CInterFaceDemo2View::OnDraw(CDC* pDC)
{
...
CRect rect1;
...//对rect1进行设置
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bmp;
bitmap.GetBitmap(&bmp);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(pDC);
dcCompatible.SelectObject(&bitmap);
pDC->StretchBlt(0,0,rect1.Width(),rect1.Height(),&dcCompatible,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY); CRect rect2;
...//对rect2进行设置
bitmap.LoadBitmap(IDB_BITMAP2);
bitmap.GetBitmap(&bmp);
dcCompatible.SelectObject(&bitmap);
pDC->StretchBlt(rect2.left,rect2.top,rect2.Width(),rect2.Height(),&dcCompatible,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);}
void CInterFaceDemo2View::OnDraw(CDC* pDC)
{
...
CRect rect1;
...//对rect1进行设置
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bmp;
bitmap.GetBitmap(&bmp);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(pDC);
dcCompatible.SelectObject(&bitmap);
pDC->StretchBlt(0,0,rect1.Width(),rect1.Height(),&dcCompatible,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY); CRect rect2;
...//对rect2进行设置
bitmap.LoadBitmap(IDB_BITMAP2);
bitmap.GetBitmap(&bmp);
dcCompatible.SelectObject(&bitmap);
pDC->StretchBlt(rect2.left,rect2.top,rect2.Width(),rect2.Height(),&dcCompatible,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);}
解决方案 »
- 请问在WTL中如何修改界面lable 文本的大小及颜色风格等??
- 请教大虾:VC,单文档项目,能否在OnDraw()后保存一个DC,以后一直可用
- ListCtrl,ICON风格
- 关于线程的等待问题,是高手的请进,灌水者勿扰,非常感谢
- 有没有懂USB应用开发的高手呀?一个USB HUB上的问题,请进
- cdatabase类访问数据库应该在哪里输入用户名密码?
- 编写控件时对话框继承的问题,在线回答给分
- 初学者,提问简单问题,请大家帮帮忙!!多谢!!
- 一段关于比较屏幕画面变化的代码,请大家看看那里不对。
- 如何由CRgn得到一组Polygon?
- [已解决]服务端和客户端计算速度不一致问题
- 在CHmtlView如何获得 ScriptErrorsSuppressed属性?
DeleteObject(bmp)
试试