【问题标题】:DirectDraw application goes black after screen orientation changeDirectDraw 应用程序在屏幕方向更改后变黑
【发布时间】:2012-03-03 20:30:50
【问题描述】:

我有一个 directdraw 应用程序(在 c 中),一旦用户使用应用程序上的按钮旋转屏幕,它就会变成黑色。该按钮使用enumdisplaysettings 来执行此操作。我已经在 Nvidia 和 ATI 上测试过,问题仍然存在。

有没有办法让 directdraw 应用程序“防显示设置”?屏幕旋转后,我可以添加一些代码来恢复显示吗?

【问题讨论】:

  • 您可能需要关闭并重新初始化 DirectDraw。我自己没有这样做,但无意中听到我的同事对它发誓。
  • 你可以把我加到骂人的名单里。我希望有一个更简单的方法。在追求这条路线之前,我正在测试更多东西。也许这与缓冲区有关。没办法了。

标签: windows winapi directx directdraw


【解决方案1】:

您可以使用 IDirectDraw::RestoreDisplayMode 将显示模式重置为调用 IDirectDraw::SetDisplayMode 之前的任何状态。不过,我不太确定这是否是您想要的。

【讨论】:

  • 在调用 enumdisplaysettings 之前是否需要显式调用 IDirectDraw::RestoreDisplayMode?还是在屏幕翻转后设置 IDirectDraw::RestoreDisplayMode?​​span>
  • 我也在 Windows 桌面上,而不是 Win CE。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多