IDirect3DDevice9::SetDialogBoxMode 方法 (d3d9helper.h)
此方法允許在全螢幕模式應用程式中使用 GDI 對話方塊。
語法
HRESULT SetDialogBoxMode(
[in] BOOL bEnableDialogs
);
參數
[in] bEnableDialogs
類型: BOOL
TRUE 表示啟用 GDI 對話方塊,並停用 FALSE 。
傳回值
類型: HRESULT
如果方法成功,傳回值會D3D_OK。 如果方法失敗,除非下列所有專案都成立,否則傳回值可以D3DERR_INVALIDCALL。
- 應用程式指定與 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) |
程式庫 | D3D9.lib |