一个很迷惑的有关问题,大家帮小弟我看看

一个很迷惑的问题,大家帮我看看!
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的代码放到哪了