none
VC6.0 GDI+双缓冲困惑! RRS feed

  • 问题

  • 我想在双缓冲的前提下,先画一个白色的矩形,然后再贴上图像。

    因此我在OnPaint函数中加入如下代码,但是效果是:只显示了图像,那却没有填充的白色的矩形。

    求教各位大神了!如何解决这个问题!

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    //m_imgStand是一个已成功加载的Image对象。

    CPaintDC dc(this);

    CRect rect; 

    GetClientRect(&rect); 
     
    Bitmap memBitmap(rect.Width(),rect.Height());
     
    Graphics memGr(&memBitmap); 
     
    SolidBrush brush(RGB(255,255,255));

    memGr.FillRectangle(&brush,0,0,rect.Width(),rect.Height());

    memGr.DrawImage(m_imgStand,0,0,0,0,m_imgStand->GetWidth(),m_imgStand->GetHeight(),UnitPixel);

    Graphics gr(dc.m_hDC);

    gr.DrawImage(&memBitmap,0,0);

    2012年4月30日 7:05

答案