笔记:vc6.0添加自定义用户消息的基本过程

原创 2004年04月13日 14:08:00

在学习<vc6.0技术内幕>过程中遇到要添加用户自定义消息的过程.我觉得书上写的比较散,于是就自己总结了这个基本过程,以为日后备查.

首先弄清楚两点:(1)谁要发送这个消息(2)谁要接受这个消息。

用一个简单的例子来说明。对象A向B(也可以就是A到A)发送消息。

1  发送消息

首先在A的头文件中定义这个消息:

#define   WM_USERMESSAGE   WM_USER+30

所有自定义消息都是以WM_USER消息为基础加上一个任意的自然数来表示的。A是向外发送消息的对象,因此在A的某个方法(函数)里就会调用用来发消息的函数B::SendMessage()/B::PostMessage(),因为是B接受消息,因此是如上的形式。

2  接受消息

对象接受一个消息,应该有三部分:在头文件中有该消息的处理函数的原型;在实现文件中有接受消息映射的宏; 以及该消息的处理函数的具体实现。

2.1  头文件中加上自定义消息的处理函数原型

在DECLARE_MESSAGE_MAP()语句之前,一对AFX_MSG之间加上如下形式的函数原型:

afx_msg  LRESULT OnProcName( WPARAM wParam, LPARAM lParam );

对Win32来说,wParam, lParam是传递消息最常用的手段。

2.2  在实现文件中加上接受消息映射的宏

在cpp文件里,BEGIN_MESSAGE_MAP语句之后,在一对AFX_MSG_MAP之间,增加 如下形式的代码:

ON_MESSAGE(WM_USERMESSAGE, OnProcName)

上面是不用分号结尾的。

2.3  在实现文件中给出消息处理函数的具体实现。

 

在APM中添加新的mavlink消息

在最新的APM代码中添加MAVLINK消息和教程中介绍的有些出入。 请对照“]Pixhawk源码笔记十一:增加新的MAVLink消息”进行添加 首先在common.xml或ardupilot...
  • bingtuohun
  • bingtuohun
  • 2016年04月21日 13:41
  • 1639

在MFC中添加用户自定义消息

首先弄清楚两点: (1)谁要发送这个消息(2)谁要接受这个消息。   用一个简单的例子来说明。对象A向B(也可以就是A到A)发送消息。   1 发送消息   首先在A的头文件中定义...
  • yigelunhui
  • yigelunhui
  • 2014年06月08日 17:39
  • 565

在MFC中添加用户自定义消息

首先弄清楚两点: (1)谁要发送这个消息(2)谁要接受这个消息。   用一个简单的例子来说明。对象A向B(也可以就是A到A)发送消息。   1 发送消息   首先在A的头文件中定义...
  • CXW1014
  • CXW1014
  • 2013年11月14日 15:51
  • 595

在MFC中添加用户自定义消息

首先弄清楚两点: (1)谁要发送这个消息(2)谁要接受这个消息。   用一个简单的例子来说明。对象A向B(也可以就是A到A)发送消息。   1 发送消息   首先在A的头文件中定义...
  • limingmcu
  • limingmcu
  • 2014年04月16日 16:19
  • 357

在MFC中添加用户自定义消息

在MFC中添加用户自定义消息  (2009-03-23 13:44:18) 转载▼ 标签:  mfc   消息   自定义消息   it 分类: 计算机编程 首先弄...
  • lphbtm
  • lphbtm
  • 2016年05月14日 16:52
  • 246

MFC中自定义消息的步骤

 这篇技术文章不是讨论经典的MFC中的消息工作机理的,讨论消息工作原理、方式和路径的文章在网上和书本中 随处可见。网上众多的讨论都是关于如何响应并进行用户自定义消息映射的;网上还有一些文章...
  • ljsant
  • ljsant
  • 2016年07月11日 14:29
  • 717

在ROS中定义并使用自己的消息类型

ROS自带的消息类型非常丰富,在ROS indigo上使用命令rostopic list可以查看所有的消息类型。但是总有时候系统自带的消息类型无法满足工程的特殊需要,这时我们可以自定义消息类型。  ...
  • u011906844
  • u011906844
  • 2017年05月15日 15:54
  • 819

MFC中自定义消息过程

这几天接触一个MFCdi
  • feilong911hao
  • feilong911hao
  • 2014年05月29日 10:36
  • 666

VC++ 自定义消息学习总结

VC添加自定义消息 http://blog.csdn.net/jinnee_cumtb/article/details/4524375     VC的ClassWizard不允许增加用户自定义消息,所...
  • bcbobo21cn
  • bcbobo21cn
  • 2017年03月31日 21:09
  • 308

Zstack协议栈OSAL中添加任务事件消息、发送数据详细过程

本文将以在GenericApp项目的基础上,一步一步地建立一个应用;需要实现的任务目标:1、使用Zigbee终端设备捕获串口中的字符“silverze” 。2、当Zigbee终端设备捕获到该字符串后,...
  • u012730382
  • u012730382
  • 2017年02月24日 09:59
  • 646
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:笔记:vc6.0添加自定义用户消息的基本过程
举报原因:
原因补充:

(最多只允许输入30个字)