与窗口消息不同,线程消息用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);
最后
以上就是寂寞小猫咪最近收集整理的关于如何给线程发送消息的全部内容,更多相关如何给线程发送消息内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复