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

另請參閱

IDirect3DDevice9