您的位置:首页 > 编程语言 > C语言/C++

c语言 windows程序设计之退出消息

2014-05-24 09:25 176 查看
程序推出去时,相关的消息有WM_CLOSE、WM_DESTROY、WM_QUIT,其消息到达的先后顺序是怎样的呢

一、应用程序最先受到的是WM_CLOSE,若想让用户确认是否退出,则在应用程序的消息处理函数中拦截此消息做相应的处理;否则,将该消息抛个DefWindowProc处理,该函数会调用DestroyWindow来处理WM_CLOSE;

二、DestroyWindow在处理WM_CLOSE时,会发送一个WM_DESTROY,我们需要在消息处理函数中相应WM_DESTROY如下:

case WM_DESTROY:
PostQuitMessage (0) ;
return 0 ;


三、调用PostQuitMessage会是windows把WM_QUIT放入消息队列中

while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
GetMessage从消息队列中取出WM_QUIT时,返回值为0,即推出消息循环,应用程序结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: