MFC自定义消息

MFC自定义消息

 

用户可以为了特定的目的而定义自己的消息,这些消息也称为自定义消息。进行自定义消息的方法很简单,一般有两种:一种是利用ON_MESSAGE宏,另外一种就是创建自己的消息映射宏,这一种方法可以定制消息的参数类型,而不像前者只能使用固定的消息参数类型。但是一般情况下不需要定制消息的参数类型,因此这里对此不予介绍。本节主要介绍第一种比较常用的方法。

预定义常量值WM_USER(0x0400)是系统专门用来为实现处理用户自定义的消息而提供的接口,需要自定义消息时,只需要以如下形式定义即可:

 

WM_USER+X

 

 

其中X是一个非负整数值。另外,需要注意的是,用户自定义消息的值范围是有规定的,如6.1.3小节所述,其值介于WM_USER和0x7FFF之间,所以,为X取值时应该注意这个问题。下面结合具体的实例来详细介绍自定义消息的实现方法。

 

 

 

 

 

MFC自定义消息四部曲
1、定义消息变量
2、添加消息映射
3、添加消息处理函数
4、实现消息处理函数

 

1,3在类的头文件中设置

2,在DoDataExchange函数下进行声明

 

以Socket的Accept例:
1、定义消息变量

#define     WM_USER_ACCEPT     WM_USER+101

2、添加消息映射
BEGIN_MESSAGE_MAP(CSocketView, CDialog)
     //{{AFX_MSG_MAP(CSocketView)
     ON_MESSAGE(WM_USER_ACCEPT,OnAccept)
     //}}AFX_MSG_MAP
END_MESSAGE_MAP()

3、添加消息处理函数
VC6.0
//{{AFX_MSG(CSocketView)
     afx_msg void OnAccept(WPARAM wParam, LPARAM
VS2005
//{{AFX_MSG(CSocketView)
     afx_msg LRESULT OnAccept(WPARAM wParam, LPARAM

lParam);
     //}}AFX_MSG

4、实现消息处理函数
VC6.0
void CSocketView::OnAccept(WPARAM wParam, LPARAM lParam)
{
//函数体
}
VS2005
LRESULT CSocketView::OnAccept(WPARAM wParam, LPARAM lParam)
{
//函数体
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值