【学习】MFC 如何处理发送给线程的消息
2014-01-22 16:00
288 查看
与窗口消息不同,线程消息用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);
详述如下:
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);
相关文章推荐
- vc/mfc 进程消息队列,线程消息队列,和系统消息队列,该如何处理
- Android学习—— Handler 的消息发送,在新的线程处理消息
- 如何在Qt中处理(接收/发送)MFC或Windows消息(message)
- 如何在Qt中处理(接收/发送)MFC或Windows消息(直接覆盖MainDialog::nativeEvent,或者QApplication::installNativeEventFilter安装过滤器,或者直接改写QApplication::nativeEventFilter)
- 不知道在MFC中如何从线程工作函数中向窗口发送消息?用好一个指针就够了
- mfc学习笔记之如何修改mfc消息机制处理顺序
- MFC如何自定义消息与在线程中向主窗体控件发送数据
- MFC复习和学习 第五章 MFC动态创建 MFC文档 MFC消息处理 MFC单文档应用程序 MFC多文档应用程序
- MFC总结(4)---MFC中如何使用子控件向父控件发送自定义消息
- 如何找到MFC程序中的消息处理函数
- 在MFC中,发送并处理自定义消息
- MFC中窗口收到WM_PAINT消息是如何处理的,什么情况下产生WM_PAINT消息
- MFC中自定义消息方法及如何得到消息处理函数的返回值
- Android串口通讯,在线程里一直监听是否有消息发来,接收到消息到runOnUiThread处理跳转页面,页面跳转关闭之后,在发送消息尽然还会执行在打开页面?
- 在MFC中从一个线程工作函数中向窗口发送消息(this指针的妙用)
- 如何找到MFC中的消息处理函数(2)
- MFC消息处理学习总结
- MFC中在工作线程下画图(自定义消息的发送)
- MFC——12.话框中对键盘消息的响应处理&&如何响应wm_char消息
- 异常信息:CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88,这种状态已持续60秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作.这种情况通常会影响到