MFC--消息
消息映射
就是把消息、命令和处理函数一一对应起来
添加消息的方法
方法一:
在MFC中:用 项目-->类向导 来添加消息
实例:看https://www.cnblogs.com/liming19680104/p/17063482.html 中的卸载钩子部分
消息分类
1.标准消息
除WM_COMMAND之外,所有以WM_开头的消息。从CWnd派生的类,都可以接收到这类消息
2.命令消息
来自菜单、加速键或工具栏按钮的消息。这类消息都以WM_COMMAND呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数识别
从CCmdTarget派生的类,都可以接收到这类消息
3.通告消息
由控件产生的消息,例如,按钮的单击,列表框的选择等均产生此类消息,为的是向其父窗口(通常是对话框)通知事件的发生。这类消息也是以WM_COMMAND形式呈现。
从CCmdTarget派生的类,都可以接收到这类消息
4.用户自定义消息
WM_CTLCOLOR
WM_CTLCOLOR消息用来完成对EDIT、STATIC、BUTTON等控件设置背景和字体颜色
具体示例看:https://www.cnblogs.com/liming19680104/p/16948586.html
WM_CREATE 窗口生成消息
具体示例看:https://www.cnblogs.com/liming19680104/p/17078776.html
WM_PAINT
WM_PAINT消息的产生:当显示区域(客户区)存在无效区域时,系统会产生一个WM_PAINT消息,通知视窗处理程序重绘显示区域
比如:第一次创建窗口,改变了窗口的大小,最大化,最小化等等(其实这些事件发生时会调用UpdateWindow函数,由该函数发送WM_PAINT消息),它会向用户程序发送一个WM_PAINT消息
窗口过程收到WM_PAINT消息后,并不代表整个客户区都需要被刷新,有可能客户区被覆盖的区域只有一小块,这个区域叫做“无效区域”,程序只需要更新这个区域。与WM_TIMER消息类似,
WM_PAINT消息也是一个低级别的消息,虽然它不会像WM_TIMER消息一样被丢弃,但Windows总是在消息循环空的时候才把WM_PAINT放入其中
具体示例看:https://www.cnblogs.com/liming19680104/p/17078776.html
WM_CLOSE 窗口关闭消息
在系统菜单里选择了“关闭”或者点击了窗口右上角的“X”按钮,你的窗口过程就会收到WM_CLOSE
WM_PAINT 重绘消息
WM_COPYDATA
实现不同进程间的通信
看:https://www.cnblogs.com/liming19680104/p/17307464.html
MFC所有WM消息和数据类型总结:
https://blog.csdn.net/langb2014/article/details/50659758
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
2021-12-10 qt5-更改QT执行文件图标