您的位置:首页 > 其它

【学习】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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐