本文介绍: 对于 MFC消息循环和消息队列的记录。
之前写了[MFC] 消息映射机制的使用和原理浅析,还有些需要补充的,都记在这里。
MFC 消息的分类
MFC消息分为系统消息和自定义消息。
图片来源:C语言/C++教程 大型源码案例分析:MFC消息系统的代码解析 易道云编程
系统消息分为窗口消息、命令消息、通知消息。消息ID是0 ~ 1023。
每个窗口的自定义消息的消息ID需要从1024开始。声明方法为:
SendMessage
[MFC] 消息映射机制的使用和原理浅析中,用SendMessage发了一个消息。
SendMessage发出的消息是不经过消息循环的。
所以debug时可以看到,没有经过任何loop函数,直接就是AfxWndProc了,最终通过MessageMap找到对应的响应函数。
此时的函数堆栈调用:
PostMessage 和 消息循环
把上面的SendMessage改成PostMessage试一下。
PreTranslateMessage和WindowProc
参考
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。