directdraw 窗口
1.
// flip pages //while(lpddsprimary->Flip(NULL, DDFLIP_WAIT)!=DD_OK); lpddsback = lpddsprimary; ddscaps.dwCaps = DDSCAPS_PRIMARYSURFACE; ddsd.dwFlags = DDSD_CAPS ; if (lpdd->SetCooperativeLevel(main_window_handle, DDSCL_NORMAL)!=DD_OK)
方法:修改程序中的几个重要地方,如SetCooperativeLevel,SetDisplayMode,CreateSurface,Flip等,使程序能够以窗口模式运行。一个很好的方法是用一个预编译的宏定义(如FULLSCREEN_DEBUG)来控制编译器,使程序能够很方便的在全屏模式与窗口模式下切换,下为一例:
#ifdef FULLSCREEN_DEBUG
lpDD->SetCooperativeLevel( hwnd, DDSCL_NORMAL);
#else
lpDD->SetCooperativeLevel( hwnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN );
lpDD->SetDisplayMode( 640, 480, 16);
#endif
http://bbs.csdn.net/topics/390108

浙公网安备 33010602011771号