Windows程序设计提问

computerre 2004-07-01 05:15:51
我对书中提到的一个解释Hello World!的程序过程不是很明白,请各位指教一下:
"。。。DefWindowProc处理完消息后会产生其它的消息。例如,假设使用者执行HELLOWIN,并且使用者最终单击了 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中的消息循环终止,然后程序结束。"
疑问点:
1。WM_DESTROY/WM_CLOSE/WM_QUIT都是同样一条消息么?那为什么还这样区别开来?
2."DefWindowProc给窗口消息处理程序发送一条WM_CLOSE消息来响应之"这句话很不明白
3。“DestroyWindow呼叫DestroyWindow来响应这条WM_CLOSE消息“也不是很明白·
请各位高手指教,谢谢!
...全文
155 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
331037034 2004-07-06
  • 打赏
  • 举报
回复
这么简单的问题好问 自己看10遍代码就会了
极深研几 2004-07-06
  • 打赏
  • 举报
回复
WM_CLOSE是WM_SYSCOMMAND的一种,还有WM_MOVE,WM_RESTORE...就是我们
系统菜单里的移动,还原等等。
computerre 2004-07-05
  • 打赏
  • 举报
回复
谢谢 laiyiling(最熟悉的陌生人) ,您讲的很透彻,好理解,我现在明白多了。也很谢谢 wxlfh(独孤九剑) 给我的鼓励!
computerre 2004-07-05
  • 打赏
  • 举报
回复
另外问一句WM_SYSCOMMAND与WM_CLOSE之间是什么关系
icuc88 2004-07-03
  • 打赏
  • 举报
回复
移, VC/基础
wxlfh 2004-07-03
  • 打赏
  • 举报
回复
跟偶刚学习时一样。楼主加油啊,最好自己看书搞懂,以后就不会忘记了。记住,WINDOWS是消息驱动的,只要理解了,就好办了。
Cocoky 2004-07-03
  • 打赏
  • 举报
回复
laiyiling(最熟悉的陌生人) yes, wo zhi chi ni!
Kudeet 2004-07-03
  • 打赏
  • 举报
回复

当用户按下菜单的close命令时,系统发出WM_CLOSE,通常程序的窗口函数不拦截这个消息,于是DefWinodwProc处理它,DefWinodwProc收到WM_CLOSE后,调用DestroyWindow把窗口清除,DestroyWindow本身会送出WM_DESTROY,程序对WM_DESTROY的标准反应就是调用PostQuitMessage,PostQuitMessage没有其他的操作,就只送出WM_QUIT消息,而消息循环GetMessage得到这个消息后返回0,而结束了消息循环,再接着结束整个程序。


这就是完整的过程,你的几个问题也就明白了。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧