【发布时间】:2010-02-28 23:50:43
【问题描述】:
我正在阅读Introduction to 3D Game Programming with DirectX 10 以学习一些 DirectX,并且我正在尝试进行建议的练习(对于拥有这本书的人来说,第 4 章)。
一个练习要求使用 IDXGIFactory::MakeWindowAssociation 禁用 Alt+Enter 功能(切换全屏模式)。
但是无论如何它都会切换全屏模式,我不明白为什么。这是我的代码:
HR(D3D10CreateDevice(
0, //default adapter
md3dDriverType,
0, // no software device
createDeviceFlags,
D3D10_SDK_VERSION,
&md3dDevice) );
IDXGIFactory *factory;
HR(CreateDXGIFactory(__uuidof(IDXGIFactory), (void **)&factory));
HR(factory->CreateSwapChain(md3dDevice, &sd, &mSwapChain));
factory->MakeWindowAssociation(mhMainWnd, DXGI_MWA_NO_ALT_ENTER);
ReleaseCOM(factory);
【问题讨论】:
-
MakeWindowAssociation 返回一个 HRESULT,因此将 HR() 包裹在该调用周围,以查看它是否因某种原因而失败。 (只是一个旁注,我认为它实际上并没有失败)
-
@Danial:已经尝试过了,没有运气。不过,我要开始赏金了。
标签: c++ directx direct3d directx-10