IDirect3DDevice9::SetDialogBoxMode-Methode (d3d9.h)
Diese Methode ermöglicht die Verwendung von GDI-Dialogfeldern in Anwendungen im Vollbildmodus.
HRESULT SetDialogBoxMode(
[in] BOOL bEnableDialogs
);
[in] bEnableDialogs
Typ: BOOL
TRUE , um GDI-Dialogfelder zu aktivieren, und FALSE , um sie zu deaktivieren.
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert D3DERR_INVALIDCALL werden, es sei denn, alle folgenden Werte sind wahr.
- Die Anwendung hat ein Zurückpufferformat angegeben, das mit GDI kompatibel ist, d. h. eines der D3DFMT_X1R5G5B5, D3DFMT_R5G6B5 oder D3DFMT_X8R8G8B8.
- Die Anwendung hat kein Multisampling angegeben.
- Die angegebene Anwendung D3DSWAPEFFECT_DISCARD.
- Die angegebene Anwendung D3DPRESENTFLAG_LOCKABLE_BACKBUFFER.
- Die Anwendung hat keine D3DCREATE_ADAPTERGROUP_DEVICE angegeben.
- Die Anwendung befindet sich nicht zwischen BeginScene und EndScene.
Die GDI-Dialogfelder müssen als untergeordnete Elemente für das Gerätefenster erstellt werden. Sie sollten auch in dem Thread erstellt werden, der das Gerät erstellt hat, da dadurch das übergeordnete Fenster das Neuzeichnen des untergeordneten Fensters verwalten kann.
Die -Methode hat keine Auswirkungen auf Anwendungen im Fenstermodus, aber diese Einstellung wird berücksichtigt, wenn die Anwendung das Gerät in den Vollbildmodus zurücksetzt. Wenn SetDialogBoxMode in einer Anwendung im Fenstermodus erfolgreich ist, wird jede nachfolgende Zurücksetzung auf den Vollbildmodus mit den oben aufgeführten Einschränkungen überprüft. Außerdem bewirkt SetDialogBoxMode, dass alle Backpuffer in der Swapchain verworfen werden, sodass von einer Anwendung erwartet wird, dass sie ihren Inhalt für alle Backpuffer nach diesem Aufruf aktualisiert.
Zielplattform | Windows |
Kopfzeile | d3d9.h (einschließlich D3D9.h) |
Bibliothek | D3D9.lib |