在第二章结束,调皮的作者为我们留下了一个小问题,如何才能在create两个窗口后,关闭一个而不同时关闭另一个。
之所以我们在关闭一个窗口时两个同时关闭,是因为,关闭其中一个窗口,WindowProc在接到WM_DESTROY消息后,PostQuitMessage,于是整个程序都关闭了。作者提示我们创建两个window类,当两个类都关闭是再postquit,我不知作者意思,但设计了一个窗口计数全局变量,当计数为0,postquit.
int count=0; //conculate count of windows
case WM_DESTROY:
{
--count;
if(count == 0) PostQuitMessage(0);
return 0;
}break;
if((hwnd2 = CreateWindowEx(
NULL,
WINDOW_CLASS_NAME,
L"window name 2",
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
0,0,
400,300,
NULL,
NULL,
hinstance,
NULL
)))
++count;
else
return 0;