IDirect3DDevice9::SetDialogBoxMode 方法 (d3d9.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 |
标头 | d3d9.h (包括 D3D9.h) |
Library | D3D9.lib |