一个很迷惑的有关问题,大家帮小弟我看看
一个很迷惑的问题,大家帮我看看!
通过这段代码我在对话框上面加了一幅背景图片,如下效果!
之后如果我切到别的窗口,然后将窗口从这个窗口上面拖开(注意:不是点这个窗口哦!),然后就成下面这样了!
我在那个背景上是放的按钮!
为什么会出现这种结果啊?
------解决方案--------------------
重绘的问题 每次 接受到 WM_PAINT 消息的时候 都重绘下
------解决方案--------------------
蓝色背景上的二个ICON你是后来画上去的吧,窗体重绘的时候这二个ICON没有重绘,你查一查绘制ICON的代码放到哪了
- C/C++ code
OnPaint() { CDC memDC; CDC *pDC; pDC = GetDC(); CBitmap bitmap; BITMAP map; bitmap.LoadBitmap(IDB_BAK); bitmap.GetBitmap(&map); CSize size(map.bmWidth,map.bmHeight); CRect rect; rect = new CRect(0,0,size.cx,size.cy); memDC.CreateCompatibleDC(pDC); memDC.SelectObject(&bitmap); pDC->BitBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY); //pDC-> StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,size.cx,size.cy,SRCCOPY); ReleaseDC(pDC); DeleteDC(memDC); CDialog::OnPaint(); }
通过这段代码我在对话框上面加了一幅背景图片,如下效果!
之后如果我切到别的窗口,然后将窗口从这个窗口上面拖开(注意:不是点这个窗口哦!),然后就成下面这样了!
我在那个背景上是放的按钮!
为什么会出现这种结果啊?
------解决方案--------------------
重绘的问题 每次 接受到 WM_PAINT 消息的时候 都重绘下
------解决方案--------------------
蓝色背景上的二个ICON你是后来画上去的吧,窗体重绘的时候这二个ICON没有重绘,你查一查绘制ICON的代码放到哪了