随笔-1  评论-9  文章-16  trackbacks-0
   刚用上WinCE6.0,DirectDraw部分有较大的改动,在自己改以前的代码的同时在这记录下:都比较简短,要更详细的话可以看PB的帮助文档,自己去比较下Simple中的代码^_^:
 

1.接口不再使用XXXXX2/4/7,而是使用统一的XXXXX, :
   LPDIRECTDRAW   g_pDD = NULL;()
   LPDIRECTDRAW4 g_pDD = NULL;()
  
新版本不兼容旧版本.
2.在初始化LPDIRECTDRAW   g_pDD的时候不再需要QueryInterface,而是直接用    DirectDrawCreate(NULL, &g_pDD, NULL);完成.
3.DDCAPS结构改变,很多成员不再使用ddcaps.dwCaps&DDSCAP_XXX判断是否有这个功能.而是根据直接提供的ddcaps.dwXXXCpas的成员是否为0来判断.还有很多的成员的改变,这个看新的PB6.0的文档。

 4. DDSURFACEDESC   ddsd改动(只对于Overlay)
 
不再使用    ddsd.ddsCaps.dwCaps = DDSCAPS_OVERLAY | DDSCAPS_FLIP | DDSCAPS_COMPLEX | DDSCAPS_VIDEOMEMORY;

中的DDSCAPS_COMPLEX | DDSCAPS_VIDEOMEMORY;

5.OverlayAlpha设置问题:

     要Overlay有透明效果只要设置DDOVERLAYFX 中的 dwAlphaConst,dwAlphaConstBitDepth到合适的值就可以了
 
   

要更多更专业的解释请看:
http://msdn.microsoft.com/en-us/library/aa913866.aspx
posted on 2008-10-15 22:51 Lexili 阅读(3151) 评论(3)  编辑 收藏 引用 所属分类: DirectX

评论:
# re: WinCE 6.0 DirectDraw改动 2009-02-08 23:29 | 防辐射
博主你好,为什么我用vs2005 下选择只能设备-->WinCE6.0 在使用DirectDraw 的时候,总是报无法链接 DirectDrawCreate ?  回复  更多评论
  
# re: WinCE 6.0 DirectDraw改动 2009-02-09 16:33 | Fagged
@防辐射
要添加
#pragma comment(lib,"ddraw.lib")  回复  更多评论
  
# re: WinCE 6.0 DirectDraw改动 2009-12-20 21:40 | Hery
博主你好,我在使用 hRet = g_pDD->SetCooperativeLevel(hWnd, DDSCL_NORMAL);返回值是DD_OK;

但显示画面的时候,竟然没有在hwnd所在的窗口中显示,而是在屏幕的左上角开始显示,DDSCL_NORMAL不是窗口模式吗?  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理