vc对话框显示位图正常,但是最小化后重新显示出错。

对话框的onpaint()里面添加如下代码CPaintDCdc(this);cBmp.LoadBitmap(IDB_MAINPIC);CDCdcCompatible;BI... 对话框的onpaint()里面添加如下代码
CPaintDC dc(this);
cBmp.LoadBitmap(IDB_MAINPIC);
CDC dcCompatible;
BITMAP bmp;
cBmp.GetBitmap(&bmp);
dcCompatible.CreateCompatibleDC(&dc);
CBitmap *pOldBmp=dcCompatible.SelectObject(&cBmp);
CRect rctPicture;
m_picture.GetWindowRect(&rctPicture);
dc.StretchBlt(rctPicture.left,rctPicture.top-22,rctPicture.Width(),rctPicture.Height(),&dcCompatible,0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);

dcCompatible.SelectObject(pOldBmp);

将对话框最小化,然后再最大化显示就出现如图错误。
如图
展开
 我来答
相思丶猫2C
2012-04-20 · TA获得超过1198个赞
知道小有建树答主
回答量:1432
采纳率:50%
帮助的人:947万
展开全部
cBmp.LoadBitmap(IDB_MAINPIC); 放到构造函数里面试试
追问
给力啊,放在构造函数里面就正常了,请问为什么呢?
追答
因为对话框最小化后再最大化,又执行了OnPaint函数,cBmp.LoadBitmap又执行了一次,出现了问题。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式