【学习】MFC 如何处理发送给线程的消息

与窗口消息不同,线程消息用ON_THREAD_MESSAGE来映射,发送消息用PostThreadMessage函数。

详述如下:
1. 声明一个派生自CWinThread的类,例如CMyThread类。
在类的声明中(.h 头文件)加入消息处理函数
afx_msg void AFX_MSG_CALL OnReset(WPARAM wParam, LPARAM lParam);    //

2. 在类的实现中(cpp文件)
添加消息映射宏
BEGIN_MESSAGE_MAP(CMyThread, CWinThread)
  ON_THREAD_MESSAGE(DM_RESET, &CMyThread::OnReset)  // DM_RESET为自定义的消息,此处假设为WM_USER+100
END_MESSAGE_MAP()

3. 实现消息处理函数体
void AFX_MSG_CALL CMyThread::OnReset(WPARAM wParam, LPARAM lParam)
{
// 加入自己的实现代码
}

4. 向线程对象发送消息,用CWinThread类的PostThreadMessage函数。
假设有一个CMyThread类的对象为m_thread;
m_thread.PostThreadMessage(DM_RESET,0,0);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值