游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2666|回复: 9

DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

[复制链接]

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2008-4-26 20:22:00 | 显示全部楼层 |阅读模式
我编的一个游戏 用的DirectDraw全屏模式

切到桌面 切不进去了

怎么处理~~?

72

主题

447

帖子

454

积分

中级会员

Rank: 3Rank: 3

积分
454
QQ
发表于 2008-4-27 11:36:00 | 显示全部楼层

Re:DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

设备丢失

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20737
发表于 2008-4-27 14:53:00 | 显示全部楼层

Re:DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

要做设备恢复。

1

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2008-4-27 15:47:00 | 显示全部楼层

Re:DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

设备丢失时要做设备恢复。^^

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2008-4-27 18:45:00 | 显示全部楼层

Re:DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

是不是重新创建DDRAW接口
设置显示模式
在重新关联主表面表面?

1

主题

23

帖子

23

积分

注册会员

Rank: 2

积分
23
发表于 2008-4-27 20:16:00 | 显示全部楼层

Re:DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

ddraw我没用过,大概和d3d一样的吧,当检测到可以恢复设备时释放掉所有由d3d创建的设备,然后再重新创建

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2008-4-27 21:15:00 | 显示全部楼层

Re:DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

知道了  谢谢~~~~

2

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-4-28 09:22:00 | 显示全部楼层

Re:DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

不用重新创建接口,只要调用Restore函数,不过显存的页面内容将全部丢失,必须全部重新载入

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2008-4-28 11:59:00 | 显示全部楼层

Re: Re:DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

只为源码: ReirectDraw全屏模式下切会桌面 在切进去要处理什么消息

不用重新创建接口,只要调用Restore函数,不过显存的页面内容将全部丢失,必须全部重新载入

我重新创建  解决了这个问题

那这个函数怎么使用呢~~~??
具体点呢~~
最好给个例子
多会点方法总使好的~~~~

13

主题

113

帖子

113

积分

注册会员

Rank: 2

积分
113
发表于 2008-4-28 12:19:00 | 显示全部楼层

Re:DirectDraw全屏模式下切会桌面 在切进去要处理什么消息

不是有个RestoreAllSurfaces吗?自己查下SDK不就得了:
Surfaces can be lost because the display mode was changed or because another application received exclusive access to the display card and freed all of the surface memory currently allocated on the card. The IDirectDrawSurface7::Restore method re-creates these lost surfaces and reconnects them to their DirectDrawSurface object. If your application uses more than one surface, you can call the IDirectDraw7::RestoreAllSurfaces method to restore all of your surfaces at once.

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 16:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表