mfc中添加一个自定义事件

mfc中添加一个自定义事件

MFC窗口,基于事件的消息处理机制,在class中配置监听,在方法中触发监听的方式:

1.在头文件stdafx.h中增加一个自定义消息宏(WM_USER是系统默认自定义事件的标识,多个事件不可重复)
#define WM_USER_THREADEND WM_USER + 1

2.在于增加新消息的窗口或对话框类的头文件中增加一个回调函数声明,注意要声明为public(在监听类中定义)
afx_msg LRESULT OnUserThreadend(WPARAM wParam, LPARAM lParam);

3.在窗口或对话框的cpp文件的BEGIN_MESSAGE_MAP,END_MESSAGE_MAP 中增加一行(在监听类中定义)
ON_MESSAGE(WM_USER_THREADEND, OnUserThreadend)

4.在窗口或对话框的cpp文件中增加回调函数的实现(在监听类中定义),如:

LRESULT ThreadDialog::OnUserThreadend(WPARAM wParam, LPARAM lParam) 
{
                  TRACE("WM_USER_THREADEND message /n");
                  return 0;
 } 

5.自定义消息的触发(触发类中使用)
::PostMessage(GetSafeHwnd(), WM_USER_THREADEND, 0, 0);
其中GetSafeHwnd()得到了一个当前窗口的句柄,此消息将发给当前窗口,如果想发送消息给其它 窗口只需改变这个句柄,前提是目的窗口也实现了此消息的处理函数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

97年的典藏版

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值