DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DDevice9 SetDialogBoxMode [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
이 메서드는, 풀 스크린 모드의 애플리케이션으로 Microsoft® Windows® Graphics Device Interface (GDI) 다이알로그 박스를 사용 가능하게 한다.
구문
HRESULT SetDialogBoxMode(
BOOL bEnableDialogs );
파라미터
- bEnableDialogs
- [in] GDI 다이알로그 박스를 유효하게 하려면 TRUE, 무효로 하려면 FALSE 를 설정하는
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는, 다음의 모든 것이 TRUE 인 경우를 제외해,D3DERR_INVALIDCALL 를 돌려준다.
- 애플리케이션으로 GDI 와 호환의 백 버퍼 포맷, 즉 D3DFMT_X1R5G5B5, D3DFMT_R5G6B5, 또는 D3DFMT_X8R8G8B8 의 어느쪽이든을 지정했다.
- 애플리케이션으로 멀티 샘플링을 지정하지 않았다.
- 애플리케이션으로 D3DSWAPEFFECT_DISCARD 를 지정했다.
- 애플리케이션으로 D3DPRESENTFLAG_LOCKABLE_BACKBUFFER 를 지정했다.
- 애플리케이션으로 D3DCREATE_ADAPTERGROUP_DEVICE 를 지정하지 않았다.
- 애플리케이션이 BeginScene 와 EndScene 의 사이에 없다.
주의
GDI 다이알로그 박스는, 장치 윈도우의 자식으로 생성 할 필요가 있다. 또, 이것들은, 장치를 생성 한 thread와 같은 thread 중(안)에서 생성 해야 한다. 그렇게 하는 것에 의해, 부모 윈도우에 의한 자식 윈도우의 관리가 가능하게 된다.
윈도우 모드의 애플리케이션에 대해서는 무효이다. 그러나, 애플리케이션으로 장치를 풀 스크린 모드에 되돌렸을 경우는, 이 설정이 고려된다. 윈도우 모드의 애플리케이션으로 SetDialogBoxMode 가 성공했을 경우는, 그 이후, 풀 스크린 모드에 되돌리려고 할 때마다, 위의 제약이 체크된다. 또, SetDialogBoxMode 에 의해, 스왑 체인 위에의 모든 백 버퍼는 파기된다. 따라서, 애플리케이션은, 이 호출의 뒤에 모든 백 버퍼에 대해 그 내용을 리프레쉬 할 필요가 있다.