我用DirectDraw画图时,
会因某个原因画面会丢失,
比如我的程序用DirectDraw画的画面在机子睡眠后再恢复就变成白的了,
虽然我让它重绘过了.
不知如何处理.

解决方案 »

  1.   

    把绘制屏幕的代码写在OnPaint或是OnDraw函数里
      

  2.   

    在主程序while(1)
    {
    if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
    {
        if (msg.message == WM_QUIT)
            break;
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }Draw();  //在这里调用画图
    }
      

  3.   

    全屏模式下,如果应用程序切换到后台,会造成表面丢失,需要重新加载一下各个表面中的数据。if(pSurface->IsLost())
    {
    // 重新加载表面上的图像
    }
      

  4.   

    不好意思,老兄是说的DDRAW,把flip()写在OnDraw或OnPaint函数里就可以了
      

  5.   

    重新加载表面上的图像?
    重新加载不会是我再读一次Bmp文件吧?
    那有些图像是我在运行中产生的怎么办?