我这里做了一个在登陆界面的消息响应函数中创建一个新的主界面的窗口,在运行的时候发现主界面的窗口会一闪而过,调试了好久发现是登录界面响应函数中的问题
原本我在WM_DESTROY中PostQuitMessage导致退出循环
于是修改了下:
case WM_CLOSE:
PostQuitMessage(0);
case WM_DESTROY:
break;
return 0;
只有这样才能使得主界面的窗口正常显示
然后问题来了
我知道WM_CLOSE消息的处理只能使得窗口被销毁,所以通常都使用WM_DESTROY消息的响应来关闭程序,PostQuitMessage(0)则是发送了一个WM_QUIT消息(或者更确切来说并不是发送),那么为什么在WM_CLOSE中PostQuitMessage不会让GetMessage的循环中止呢?按理来说不是有了WM_QUIT消息后GetMessage就会返回null然后退出循环吗?
想问下WM_CLOSE调用PostQuitMessage和WM_DESTROY调用PostQuitMessage是有什么实质性的区别呢?