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

 

 

 

 

 

 

 

 

 

posted @   天子骄龙  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2021-12-10 qt5-更改QT执行文件图标
点击右上角即可分享
微信分享提示

目录导航