c++wm_quit
WM_QUIT和WM_CLOSE和WM_DESTROY具体怎么弄,我糊涂了,经常结束程序的时候,窗口关闭了,而进程还在,高手帮哈忙,该怎么用,写具体点(本人有点笨),谢谢...
WM_QUIT和WM_CLOSE和WM_DESTROY具体怎么弄,我糊涂了,经常结束程序的时候,窗口关闭了,而进程还在,高手帮哈忙,该怎么用,写具体点(本人有点笨),谢谢!!!!!
展开
1个回答
2013-07-17
展开全部
单击了 Close按钮,或者假设用键盘或鼠标从系统菜单中选择了 Close, DefWindowProc处理这一键盘或者鼠标输入,在检测到使用者选择了Close选项之后,它给窗口消息处理程序发送一条WM_SYSCOMMAND消息。WndProc将这个消息传给DefWindowProc。DefWindowProc给窗口消息处理程序发送一条WM_CLOSE消息来响应之。WndProc再次将它传给DefWindowProc。DestroyWindow呼叫DestroyWindow来响应这条WM_CLOSE消息。DestroyWindow导致Windows给窗口消息处理程序发送一条WM_DESTROY消息。WndProc再呼叫PostQuitMessage,将一条WM_QUIT消息放入消息队列中,以此来响应此消息。这个消息导致WinMain中的消息循环终止,然后程序结束。这是因为消息循环中用GetMessag来获取消息,当GetMessag获得WM_QUIT时(放回0值)这将导致WinMain退出消息循环。一般就是响应WM_DESTROY就可以了switch(message){case WM_DESTROY:
PostQuitMessage(0); return 0;default: return DefWindowProc(hwnd,message,wParam,lParam);}
PostQuitMessage(0); return 0;default: return DefWindowProc(hwnd,message,wParam,lParam);}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询