So, jetzt hab ich ein neues Problem.
Wenn ich die Anwendung minimiert habe, gebe ich in MessageBoxes aus, wie der aktuelle Zustand des Devices ist. Solange eine MessageBox angezeigt wird, kann ich das eigentliche Fenster maximieren. Wenn ich die MessageBoxes aber auskommentiere bekommt das Fenster zwar den Fokus, maximiert sich aber nicht.
Mein Code sieht so aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
void CDirect3D::EndScene()
{
HRESULT DeviceState;
lpD3DDevice->EndScene();
DeviceState = lpD3DDevice->Present(0, 0, 0, 0);
if(DeviceState == D3D_OK) return;
else if(DeviceState == D3DERR_DEVICELOST)
{
MessageBox(0, "Device lost", "Error", MB_OK);
while(true)
{
Sleep(10);
DeviceState = lpD3DDevice->TestCooperativeLevel();
if(DeviceState == D3DERR_DEVICELOST) continue;
else if(DeviceState == D3DERR_DEVICENOTRESET)
{
MessageBox(0, "Device not reset", "Error", MB_OK);
lpD3DDevice->Reset(&PParams);
break;
}
}
}
}
|