希望给出代码

解决方案 »

  1.   

    使用双缓冲
    int nSaveDC = pDC->SaveDC();
    CRect rcPaint;
    GetClientRect(&rcPaint); CBitmap bmp1;
    bmp1.LoadBitmap(IDB_BITMAP1);
    CDC dcMem1;
    int nMSaveDC1 = pDC->SaveDC(); dcMem1.CreateCompatibleDC(pDC);
    dcMem1.SelectObject(&bmp1); dcMem1.SelectStockObject(NULL_BRUSH); pDC->BitBlt(rcPaint.left, rcPaint.top, rcPaint.Width(), rcPaint.Height(),
    &dcMem1, rcPaint.left, rcPaint.top, SRCCOPY); dcMem1.RestoreDC(nMSaveDC1); pDC->RestoreDC(nSaveDC)
      

  2.   

    CDC dcMem1;
    这个应该是类变量 你做过程变量 只会更慢的 无法解决闪烁问题
      

  3.   

    CMemDC + CMemBmp
    自己去找这两个类吧