如下代码效果上不起作用:
        CDC *pdc=this->GetDC();
CRect rect;
GetClientRect(&rect);
CDC memDC;
memDC.CreateCompatibleDC(pdc);
        memDC.FillRect(&rect,&CBrush(RGB(0,0,255)));
pdc->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,rect.Width(),rect.Height(),SRCCOPY);
memDC.DeleteDC();
ReleaseDC(pdc);
纠结中.....
求高手指点。

解决方案 »

  1.   

    要产生的兼容位图,再选入到memDC才能Fill
    否则memdc没有空的bmp
    fill不了的。
      

  2.   

    CDC *pdc=this->GetDC();
    CRect rect;
    GetClientRect(&rect);
    CBitmap Bitmap;CDC memDC;
    memDC.CreateCompatibleDC(pdc);
    Bitmap.CreateCompatibleBitmap(memDC, rect.iWidth, rect.iHeight);
    memDC.SelectObject(Bitmap);
    memDC.FillRect(&rect,&CBrush(RGB(0,0,255)));
    pdc->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,rect.Width(),rect.Height(),SRCCOPY);
    memDC.DeleteDC();
    ReleaseDC(pdc);
      

  3.   

    CRect rect;
    GetClientRect(&rect);
    CBitmap Bitmap;
    CDC memDC;
    memDC.CreateCompatibleDC(pdc);
    Bitmap.CreateCompatibleBitmap(pdc, rect.Width(), rect.Height());
    memDC.SelectObject(&Bitmap);
    memDC.FillRect(&rect,&CBrush(RGB(0,0,255)));
    pdc->StretchBlt(0,0,rect.Width(),rect.Height(),&memDC,0,0,rect.Width(),rect.Height(),SRCCOPY);
    memDC.DeleteDC();
    多谢!