[2]MFC的消息映射机制
2020-12-14 本文已影响0人
heiqimingren
![](https://img.haomeiwen.com/i2731375/95bc9879ea7f3c55.png)
![](https://img.haomeiwen.com/i2731375/6f5e6596e0d0a29d.png)
举例子来说明
01,声明。函数前面有afx_msg,就说明此函数是某个消息的消息响应函数。
![](https://img.haomeiwen.com/i2731375/a992f352e3d7dddf.png)
02,函数的实现。
![](https://img.haomeiwen.com/i2731375/202d32e9213969f8.png)
03,用来关联消息和消息相应的宏
![](https://img.haomeiwen.com/i2731375/3263e32d11206fbe.png)
![](https://img.haomeiwen.com/i2731375/da6a1798b6c0f4b9.png)
案例:老师弄了一个按钮空间,点击按下,产生的消息和消息响应函数如下:
这个很经典,解决了我的问题。
![](https://img.haomeiwen.com/i2731375/e471faf90579bde0.png)
![](https://img.haomeiwen.com/i2731375/ee262da74f694847.png)
![](https://img.haomeiwen.com/i2731375/53d7f86a29aa808c.png)
下图,消息映射宏
![](https://img.haomeiwen.com/i2731375/0897bc0d1e1c9aba.png)
![](https://img.haomeiwen.com/i2731375/97ab5cdb33c93837.png)
![](https://img.haomeiwen.com/i2731375/1f1a984f1c526867.png)
======================================================
![](https://img.haomeiwen.com/i2731375/600f1a550e8dfea7.png)
第四小点
![](https://img.haomeiwen.com/i2731375/427534895564feb5.png)
![](https://img.haomeiwen.com/i2731375/f2e30fba66d03cca.png)
自定义消息号,不能跟系统已经定义的重合。
微软也考虑到这点了,
![](https://img.haomeiwen.com/i2731375/e82c7cbca6244798.png)
![](https://img.haomeiwen.com/i2731375/016b212e11440bdf.png)
![](https://img.haomeiwen.com/i2731375/d0436b1642f6d694.png)
![](https://img.haomeiwen.com/i2731375/a55fee02f52c21e2.png)
![](https://img.haomeiwen.com/i2731375/36410386fac1c708.png)
发生了个小错误
![](https://img.haomeiwen.com/i2731375/8c591014efc8783c.png)
如何解决?
-------返回值类型不同,需要更改
![](https://img.haomeiwen.com/i2731375/d2a401912b293dad.png)
下面,也得更改:
![](https://img.haomeiwen.com/i2731375/ccd20244ab9c4e55.png)
下面,也得该
![](https://img.haomeiwen.com/i2731375/60ac5f6b002ea774.png)
现在,设置好了。但是谁来发消息呢?没有人发消息,程序也不会触发。
这里就用自己的程序触发一下吧。
![](https://img.haomeiwen.com/i2731375/d3b246c3b2273455.png)
结果如下图:
![](https://img.haomeiwen.com/i2731375/f9e0334cea8aa71a.png)
接下来,添加参数,修改一下:
![](https://img.haomeiwen.com/i2731375/e0b3cff1bdf00afc.png)
![](https://img.haomeiwen.com/i2731375/eb265e8cbe04cd56.png)