MFC 双缓存绘图出现黑边的问题

 //CDialog::OnPaint();
   CPaintDC dc(this); // 目标A桌子

     RECT myRect;

     GetDlgItem(IDC_STATIC)->GetWindowRect(&myRect);
     ScreenToClient(&myRect);
     //ScreenToClient(&myRect);

     //GetClientRect(&myRect);//获取桌子大小
     long nWidth=myRect.right - myRect.left;
     long nHigth=myRect.bottom - myRect.top;
     CDC tempdc;//B桌子
     CBitmap MemBitmap;//新桌布
     CBitmap*OldBitmap;//旧桌布

     tempdc.CreateCompatibleDC(NULL); //实体化B桌子
     MemBitmap.CreateCompatibleBitmap(&dc,nWidth,nHigth);//实体化给B使用的桌布
     //这里是拷贝了A的位图,自己用张图片也行,大小注意下
     OldBitmap=tempdc.SelectObject(&MemBitmap);

     //给B使用

     tempdc.FillSolidRect(&myRect,RGB(0,255,255));
     //默认黑色,自己按需改变
     //...............
     //在B桌布上画画,tempdc

     dc.BitBlt(myRect.left ,myRect.top, nWidth, nHigth, &tempdc,0,0,SRCCOPY);
     //拷贝给A
     tempdc.SelectObject(OldBitmap);
     //恢复B原有的桌布(习惯吧,就像申请内存后记得释放)
     //删除临时对象
     MemBitmap.DeleteObject();
     tempdc.DeleteDC();
     Invalidate(FALSE);

    上面是在:OnPaint() 函数现在添加的代码  本意是想在IDC_STATIC这个控件中用内存画图的方法 填充颜色,为啥控件没有填充满绿色,会出现黑边呢?

http://blog.csdn.net/skyhuangdan/article/details/37901443

不要用这个FillSolidRect,试试FillRect,新建一个CBrush