VS2013/MFC基于对话框编程:[15]自定义消息
1、打开Demo项目,在对话框中添加一个按钮,文本设置为“点击”。程序功能:点击按钮,点击次数超过5次就会触发一个自定义消息,在自定义消息中弹出一个提示消息。
![VS2013/MFC基于对话框编程:[15]自定义消息](https://exp-picture.cdn.bcebos.com/baab208630486143fb5fdf828febf6a75e0f5322.jpg)
2、在头文件中添加:#define WM_MYMSG WM_USER+1WM_USER以下的消息都是系统消息,所以自定义消息时,ID要比WM_USE大;添加函数声明(用于响应自定义消息):afx_msg LRESULT OnMyMsgHandler(WPARAM, LPARAM);
![VS2013/MFC基于对话框编程:[15]自定义消息](https://exp-picture.cdn.bcebos.com/49701aebf6a75f0fb3a0e35d97324b18502c4c22.jpg)
3、在源文件的消息映射中添加:ON_MESSAGE(WM_MYMSG,OnMyMsgHandler)
![VS2013/MFC基于对话框编程:[15]自定义消息](https://exp-picture.cdn.bcebos.com/1d735518512c8cf1ef2cb180c384cde34a2c4622.jpg)
4、添加一个宏定义:#define IDC_New 2000 // 数值不要与其他控件的ID重合编写OnMyMsgHandler函数,提示时间到了,这个完全是测试,不代表具体意义。
![VS2013/MFC基于对话框编程:[15]自定义消息](https://exp-picture.cdn.bcebos.com/4a6d48ee7b7f860e43fe724777f5ee0d3bcebe22.jpg)
5、修改按钮ID为IDC_Click,双击生成按钮按下事件处理函数,编辑函数代码,通过SendMessage函数触发消息。
![VS2013/MFC基于对话框编程:[15]自定义消息](https://exp-picture.cdn.bcebos.com/3b8fb4d7726b0ce2226ca3bcef781423bfb9b622.jpg)
6、测试程序,启动调试,每点击一次,按钮文本就更新一次,第五次弹出提示消息。这个例程简单向大家介绍了如何在MFC中添加自定义消息并调用响应函数。
![VS2013/MFC基于对话框编程:[15]自定义消息](https://exp-picture.cdn.bcebos.com/65390a23beb9763e6c492c656ad06de89b61b022.jpg)
![VS2013/MFC基于对话框编程:[15]自定义消息](https://exp-picture.cdn.bcebos.com/ba97ffd06de89a61d4aed62045e8b004551bad22.jpg)
![VS2013/MFC基于对话框编程:[15]自定义消息](https://exp-picture.cdn.bcebos.com/40d2d0e8b004541b86846595869a310e1699a622.jpg)
7、此外,VS2013提供了创建自定义消息的捷径,在类向导中的消息栏下面有“添加自定义消息按钮”,点击后填写自定义消息,类向导自动生成响应函数。但是消息的触发还是得自己添加的。
![VS2013/MFC基于对话框编程:[15]自定义消息](https://exp-picture.cdn.bcebos.com/16d8f72abab84240357554a77ac595ee40c19e22.jpg)