VS2013如何在MFC工程中定义自己的消息映射函数

VS2013环境下,在创建的MFC工程 ThreadSendMSG中自定义消息映射函数需要以下几个步骤:
总共需要五步:
1.在 ThreadSendMSGDlg.h对话框的头文件中定义一个消息ID。
一般定义为:#define MY_MSG WM_USER+1
补充说明:
为了防止用户定义的消息ID与系统的消息ID冲突,MS(Microsoft)定义了一个宏WM_USER,小于WM_USER的ID被系统使用,大于WM_USER的ID被用户使用。所以必须要使自定义的消息ID大于WM_USER。具体值为多少不用关心。

2. 在类的定义中添加消息处理成员函数的函数声明。
在头文件ThreadSendMSGDlg.h中的类声明中添加成员消息处理函数的函数声明。

VC6中,说可以把函数在头文件中定义为:afx_msg void OnProgress()。但是在VS2005及以上,要求很严格,必须函数返回值为LRESULT类型,所以在VS2005及以上,需要修改为

LRESULT afx_msg OnProgress(WPARAM, LPARAM); 其中,后面两个参数不管用不用得上,都要写。

3. 在类的消息映射表中加入相应的消息映射表项。
在类的实现文件 ThreadSendMSGDlg.cpp中为自定义的消息和消息处理函数添加消息映射。
格式固定:ON_MESSAGE(消息ID,消息处理函数名);
下面的声明也可以为其添加上类名
写作:ON_MESSAGE(UM_AA, &ThreadSendMSGDlg::OnAAA())


4.在类的实现中加入该消息处理成员函数的函数实现。
注意:最后一定要返回一个TRUE;

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值