最近在用SDK写俄罗斯的时候遇到了很多问题 ...点亮GDI盲区值得看
2011-10-28 19:24
357 查看
1 . 有效区域无效区域
调用InvalidateRect之后会使矩形区域编程无效区域 会导致指定区域重绘 如果不调用 ValidateRect那么 就会导致那个矩形区域无法绘制
2. 句柄问题 用完一定要释放 我在做俄罗斯的过程中 发现运行一段时间后 就出现一场 整个屏幕 卡住并且运行停止 结果Debug了 2天 没结果
最后终于明白原来是CreateCompatibleDC DC没释放
要释放如果不的话 你的gdi对象数目会不停的增加 到了10000就崩掉了 也就出现了我的程序崩溃 不断刷屏
如果GetDC那么 一定要 ReleaseDC释放 DC
如果CreateCompatibleDC那么 一定要 调用DeleteDC
如果GDI对象 例如 画刷位图 。。。。用完之后一定要 DeleteObject 删除 GDI对象
3. 在从欢迎界面 进入游戏界面的时候 发送WM_PAINT消息的问题 。。。我们会发现 发送了WM_PAINT消息但是 却不能按照我们的要求 绘制指定的界面
但是只要窗体一被遮住问题立马解决 ,这个问题很纠结 原理我也不清楚(高手解答。。。。。嘿嘿)
这时候 解决的方法是我们自定义一个 背景绘制的消息处理 。。 然后在WM_自定义里面 发送WM_PAINT消息 那么 就可以间接的实现界面的切换功能
4. 所谓的虚拟界面 就是通过位图实现按钮的功能 比如说 一个Button 我们只需要绘制2张不同颜色的图片 然后响应WM_MOUSEMOVE喝 WM_LBUTTON事件
进行2张位图的切换 就可以完成虚拟界面 其实SDK很多时候都用到这个
以上是我1星期的 经验虽然不专业但是 希望能帮助大家 。。。。错误的地方高手指出来
调用InvalidateRect之后会使矩形区域编程无效区域 会导致指定区域重绘 如果不调用 ValidateRect那么 就会导致那个矩形区域无法绘制
2. 句柄问题 用完一定要释放 我在做俄罗斯的过程中 发现运行一段时间后 就出现一场 整个屏幕 卡住并且运行停止 结果Debug了 2天 没结果
最后终于明白原来是CreateCompatibleDC DC没释放
要释放如果不的话 你的gdi对象数目会不停的增加 到了10000就崩掉了 也就出现了我的程序崩溃 不断刷屏
如果GetDC那么 一定要 ReleaseDC释放 DC
如果CreateCompatibleDC那么 一定要 调用DeleteDC
如果GDI对象 例如 画刷位图 。。。。用完之后一定要 DeleteObject 删除 GDI对象
3. 在从欢迎界面 进入游戏界面的时候 发送WM_PAINT消息的问题 。。。我们会发现 发送了WM_PAINT消息但是 却不能按照我们的要求 绘制指定的界面
但是只要窗体一被遮住问题立马解决 ,这个问题很纠结 原理我也不清楚(高手解答。。。。。嘿嘿)
这时候 解决的方法是我们自定义一个 背景绘制的消息处理 。。 然后在WM_自定义里面 发送WM_PAINT消息 那么 就可以间接的实现界面的切换功能
4. 所谓的虚拟界面 就是通过位图实现按钮的功能 比如说 一个Button 我们只需要绘制2张不同颜色的图片 然后响应WM_MOUSEMOVE喝 WM_LBUTTON事件
进行2张位图的切换 就可以完成虚拟界面 其实SDK很多时候都用到这个
以上是我1星期的 经验虽然不专业但是 希望能帮助大家 。。。。错误的地方高手指出来
相关文章推荐
- 最近在用SDK写俄罗斯的时候遇到了很多问题 ...点亮GDI盲区值得看
- 最近在用SDK写俄罗斯的时候遇到了很多问题 ...点亮GDI盲区值得看
- 最近在做即时通讯,能收到消息的通知,问题是在聊天界面里如何在收到消息的时候刷新聊天listview,找遍sdk也没发现
- 最近在SDK下使用WebBrowser遇到了个问题
- 最近在做ShareSDK的微信分享的时候遇到了点问题,就是分享的时候选择微信好友或者微信朋友圈会打开一下微信然后界面都还没加载出来就闪退。这个问题我在网上找了好多种的可能的情况以及处理办法,最终找到了
- 最近在学Java,想想后面会遇到很多问题,写个博客分享一下
- 最近在SDK下使用WebBrowser遇到了个问题
- 最近遇到问题不少,还真不好解决,记录下来,静下心的时候好好想想
- 新的android sdk for eclipse开发的时候遇到的问题
- 应用ORACLE的时候可能会遇到很多看起来不难的问题
- 今天有温习了一下指针,最近遇到很多指针问题,又蒙了
- 最近因为项目需要,需要接入友盟的推送,遇到很多问题,记录一下
- 最近一个刚刚毕业的朋友说,他面试时候,遇到最频繁的css问题就是垂直居中,这里给出几种垂直居中方式!
- 看了不到一半同事上培训班时候的示例代码,解决了很多前几个月遇到的问题。
- 新入的Android工程很多时候都会遇到这样的问题,R.mainactivity.xml报错,一看原来发现是R类访问不到我们的资源文件在这个时候怎么解决呢?
- 最近写写videopalyer遇到的问题
- 最近遇到一个问题SQLSERVER2005 目录名称无效(批处理过程出错,不能查询)
- 最近遇到的问题
- 最近一段时间,遇到问题整理。
- 最近遇到struts2的action跳转问题