Метод 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 |
Header | d3d9helper.h (включая D3D9.h) |
Библиотека | D3D9.lib |