IDirect3DDevice9::SetDialogBoxMode
このメソッドを使用すると、GDI ダイアログ ボックスをフルスクリーン モードのアプリケーションで使用できます。
HRESULT
SetDialogBoxMode(
BOOL bEnableDialogs
);
パラメータ
- bEnableDialogs
GDI ダイアログ ボックスを有効にするには TRUE を指定し、無効にするには FALSE を指定します。
戻り値
メソッドが成功した場合は、D3D_OK を返します。以下のすべてに該当しない限り、メソッドは失敗し、D3DERR_INVALIDCALL を返します。
- アプリケーションで指定されたバック バッファー フォーマットが GDI と互換性がある。つまり、D3DFMT_X1R5G5B5、D3DFMT_R5G6B5、D3DFMT_X8R8G8B8 のいずれかである。
- アプリケーションでマルチサンプリングが指定されていない。
- アプリケーションで D3DSWAPEFFECT_DISCARD が指定されている。
- アプリケーションで D3DPRESENTFLAG_LOCKABLE_BACKBUFFER が指定されている。
- アプリケーションで D3DCREATE_ADAPTERGROUP_DEVICE が指定されていない。
- アプリケーションが BeginScene と EndScene の間にある。
解説
GDI ダイアログ ボックスは、デバイス ウィンドウの子として作成する必要があります。親ウィンドウにより子ウィンドウの再描画を管理できるようにするために、GDI ダイアログ ボックスはデバイスを作成した同じスレッド内で作成される必要もあります。
このメソッドは、ウィンドウ表示モード アプリケーションには効果ありませんが、アプリケーションでデバイスを全画面モードにリセットする場合は、この設定が優先されます。SetDialogBoxMode がウィンドウ表示モード アプリケーションで成功した場合、その後の全画面モードへのリセットは上記の制限に対して確認されます。また、SetDialogBoxMode により、スワップ チェーンのすべてのバック バッファーが破棄されます。このため、この呼び出しの後、すべてのバック バッファーのコンテンツをリフレッシュする必要があります。
要件
ヘッダー: D3D9.h 宣言
ライブラリ: D3D9.lib 内容