Метод 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

См. также раздел

IDirect3DDevice9