IDirect3DDevice9::SetDialogBoxMode 方法 (d3d9helper.h)

此方法允许在全屏模式应用程序中使用 GDI 对话框。

语法

HRESULT SetDialogBoxMode(
  [in] BOOL bEnableDialogs
);

参数

[in] bEnableDialogs

类型: BOOL

如果为 TRUE ,则启用 GDI 对话框, 如果为 FALSE ,则禁用它们。

返回值

类型: HRESULT

如果方法成功,则返回值D3D_OK。 如果 方法失败,则返回值可以D3DERR_INVALIDCALL,除非以下所有操作都为 true。

  • 应用程序指定了与 GDI 兼容的后台缓冲区格式,即D3DFMT_X1R5G5B5、D3DFMT_R5G6B5或D3DFMT_X8R8G8B8之一。
  • 应用程序未指定多重采样。
  • D3DSWAPEFFECT_DISCARD指定的应用程序。
  • D3DPRESENTFLAG_LOCKABLE_BACKBUFFER指定的应用程序。
  • 应用程序未指定D3DCREATE_ADAPTERGROUP_DEVICE。
  • 应用程序不在 BeginScene 和 EndScene 之间。

备注

必须将 GDI 对话框创建为设备窗口的子级。 它们还应在创建设备的同一线程中创建,因为这允许父窗口管理重绘子窗口。

方法对窗口模式应用程序不起作用,但如果应用程序将设备重置为全屏模式,将遵循此设置。 如果 SetDialogBoxMode 在窗口模式应用程序中成功,则将根据上面列出的限制检查到全屏模式的任何后续重置。 此外,SetDialogBoxMode 会导致丢弃交换链上的所有后台缓冲区,因此应用程序应在调用后刷新所有后台缓冲区的内容。

要求

   
目标平台 Windows
标头 d3d9helper.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

IDirect3DDevice9