Tôi đang đọc Introduction to 3D Game Programming with DirectX 10 để tìm hiểu một số DirectX và tôi đang cố gắng thực hiện các bài tập được đề xuất (chương 4 cho những người có sách).Vô hiệu hóa alt-enter trong ứng dụng Direct3D (DirectX)
Một bài tập yêu cầu tắt chức năng Alt + Enter (chuyển đổi chế độ toàn màn hình) bằng cách sử dụng IDXGIFactory::MakeWindowAssociation
.
Tuy nhiên, nó vẫn chuyển sang chế độ toàn màn hình và tôi không thể hiểu tại sao. Đây là mã của tôi:
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 trả về một HRESULT để bọc HR() xung quanh cuộc gọi đó cũng như để xem nếu nó không thành công vì một lý do nào đó. (Chỉ cần một phụ lưu ý, tôi không nghĩ rằng nó thực sự thất bại) –
@Danial: đã cố gắng, không có may mắn. Tôi sẽ bắt đầu một tiền thưởng chỉ cho heck của nó mặc dù. –