《深入浅出MFC》——窗口的生命周期

 

1.程序初始化过程中调用CreateWindow,为程序建立了一个窗口,作为程序的荧幕舞台。Createwindow产生窗口之后会送出WM_CREATE直接给窗口函数,后者于是可以在此时机做些初始化动作(例如配置内存、开文件、读初始资料...)。

2.程序活着的过程中,不断以GetMessage从消息队列中抓取消息。如果这个消息是WM_QUIT,GetMessage会传回0而结束while循环,进而结束整个程序。

3.DispatchMessage通过Windows USER模块的协助与监督,把消息分派至窗口函数。消息将在该处被判别并处理。

4.程序不断进行2.和3.动作。

5.当使用者按下系统菜单中的Close命令项,系统送出WM_CLOSE。通常程序的窗口函数不拦截此消息,于是DefWindowProc处理它。

6.DefWindowProc收到WM_CLOSE后,调用DestroyWindow把窗口清除。DestroyWindow本身又会送出WM_DESTROY。

7.程序对WM_DESTROY的标准反应是调用PostQuitMessage。

8.PostQuitMessage没什么其他动作,就只送出WM_QUIT消息,准备让消息循环中的GetMessage取得,如步骤2,结束消息循环。

摘自《深入浅出MFC》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值