C++/MFC修行之路(2) 自定义消息

本文详细介绍了自定义消息处理的五个步骤,包括定义消息、声明消息处理函数、消息映射、实现消息处理函数以及发送消息的方法。适用于Windows消息处理场景。

自定义消息分为五步:

  • 第一步:在.h文件中定义消息
#define (自定义消息名)    WM_USER+1001
//例如:#define WM_MYMESSAGE  WM_USER+1001
  • 第二步:在要响应的类的.h文件的AFX_MSG块中声明消息处理函数:
eg: afx_msg LRESULT ONMYMessage(WPARAM wParam, LPARAM lParam);
  • 第三步:再要响应的类的.cpp文件中增加消息映射部分:
eg: ON_MESSAGE(WM_MYMESSAGE, ONMYMessage)
*注意,第三步和第四步可以在类向导中完成*
  • 第四步:在要响应的类的.cpp中定义消息处理函数的实现:
LRESULT 类名::ONMYMessage(WPARAM wParam, LPARAM lParam)
{
    //对应的处理;注意这个方法名和第二步声明的方法名
}
  • 第五步:发送消息
//方法1:
HWND hwnd = ::GetParent(m_hWnd);//要接受消息的窗口的类的指针
SendMessage(hwnd,WM_MYMESSAGE,a,b);
//方法2:
PostMessage(GetSafeHwnd(), WM_USER_THREADEND, 0, 0);
//其中GetSafeHwnd()得到了一个当前窗口的句柄.如果想发送消息给其它窗口只需改变这个句柄


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值