Direct Draw 画到主表盘的图,居然在移动窗口的时候不跟着走

Direct Draw 画到主表面的图,居然在移动窗口的时候不跟着走
本帖最后由 nabasasun 于 2013-06-22 01:36:06 编辑
十分奇葩,  win32 窗口的绘图代码我都是在PAINT 下绘制的,不对吗?
要不然怎么在窗体最小最大化的情况下重绘现场
 rc1.top = 0;
 rc1.left = 0;
 rc1.right = 1024;
 rc1.bottom = 768;

 rc2.top = 0;
 rc2.left = 200;
 rc2.right = 620;
 rc2.bottom = 768;

 lpDDSPrimary->Blt(&rc1,lpDDSBJ,NULL,DDBLT_WAIT,NULL);                //背景
 lpDDSPrimary->Blt(&rc2,lpDDSRW,NULL,DDBLT_WAIT,NULL); //人物

------解决方案--------------------
//下面动作执行的时候都要更新窗口,没有看到你的翻转页面的代码
case WM_MOVE:  break;
case WM_SIZE:  break;


------解决方案--------------------
在paint下绘制是没有问题的。Present()执行了吗?,还要弄清楚窗口区域跟屏幕区域
    GetClientRect( s_hWnd, &s_rcClient );
    ClientToScreen( s_hWnd, (POINT*)&s_rcClient );

------解决方案--------------------
大肚子原因还是窗口区域跟页面尺寸不匹配,你自己慢慢倒腾吧,不是一天两天能搞明白的。
------解决方案--------------------
桌面分辨率
我的是1280*1024,主页面也要是这个尺寸。