MFC多线程通讯--自定义消息
2013-04-01 19:20
190 查看
demo功能:
demo界面为对话框,在主界面选择计算1到10或50或100的自然数的累加和,点击求和按钮后主线程创建计算线程,给计算线程发送WM_CACULATE消息,计算线程计算完得到结果后,给主线程发送WM_DISPLAY消息,结果以参数的形式发送过去,主线程显示求和结果。
主线程WM_DISPLAY消息响应函数:
WM_DISPLAY消息映射:
计算线程WM_CACULATE消息响应函数:
WM_CACULATE消息映射:
当使用CWinThread类或者其子类的时候,必须用ON_THREAD_MESSAGE来代替ON_MESSAGE。
定义自定义消息:
在主线程中声明一个计算线程类的对象指针来存储子线程,并通过这个指针来发送WM_CACULATE消息给计算线程
计算线程给主线程发送WM_DISPLAY消息
demo界面为对话框,在主界面选择计算1到10或50或100的自然数的累加和,点击求和按钮后主线程创建计算线程,给计算线程发送WM_CACULATE消息,计算线程计算完得到结果后,给主线程发送WM_DISPLAY消息,结果以参数的形式发送过去,主线程显示求和结果。
主线程WM_DISPLAY消息响应函数:
afx_msg LRESULT OnDisplay(WPARAM wParam, LPARAM lParam);
WM_DISPLAY消息映射:
BEGIN_MESSAGE_MAP(CMultiThread5DlgDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_RADIO1, &CMultiThread5DlgDlg::OnBnClickedRadio1) ON_BN_CLICKED(IDC_RADIO2, &CMultiThread5DlgDlg::OnBnClickedRadio2) ON_BN_CLICKED(IDC_RADIO3, &CMultiThread5DlgDlg::OnBnClickedRadio3) ON_BN_CLICKED(IDC_SUM, &CMultiThread5DlgDlg::OnBnClickedSum) ON_MESSAGE(WM_DISPLAY, OnDisplay) END_MESSAGE_MAP()
计算线程WM_CACULATE消息响应函数:
afx_msg void OnCaculate(WPARAM wParam, LPARAM lParam);
WM_CACULATE消息映射:
BEGIN_MESSAGE_MAP(CCaculateThread, CWinThread) ON_THREAD_MESSAGE(WM_CACULATE, OnCaculate) END_MESSAGE_MAP()
当使用CWinThread类或者其子类的时候,必须用ON_THREAD_MESSAGE来代替ON_MESSAGE。
定义自定义消息:
#define WM_CACULATE WM_USER+1 #define WM_DISPLAY WM_USER+2
在主线程中声明一个计算线程类的对象指针来存储子线程,并通过这个指针来发送WM_CACULATE消息给计算线程
CCaculateThread* m_pCaculateThread;
m_pCaculateThread = (CCaculateThread *)AfxBeginThread(RUNTIME_CLASS(CCaculateThread)); Sleep(500); m_pCaculateThread->PostThreadMessage(WM_CACULATE, m_Addend, NULL);
计算线程给主线程发送WM_DISPLAY消息
::PostMessageA((HWND)GetMainWnd()->GetSafeHwnd(), WM_DISPLAY, sum, NULL);
相关文章推荐
- MFC下的多线程和自定义消息收发
- 利用自定义消息(MFC界面)实现进程间通讯
- MFC用户自定义消息
- MFC自定义消息
- MFC 如何添加自定义消息
- MFC对话框应用程序添加自定义消息
- MFC的自定义消息(用户消息)的定义与使用
- 在MFC中手动添加消息处理函数PreTranslateMessage和自定义消息
- 添加自定义消息和是MFC托盘化
- MFC中自由使用自定义消息
- 深入浅出Win32多线程设计之MFC的多线程-线程与消息队列(经典)
- 利用消息机制实现VC与Delphi之间的通讯(发送自定义消息)
- MFC 自定义消息
- 在MFC中添加用户自定义消息
- MFC发送自定义消息-PostMessage和SendMessage
- MFC 向指定窗口发送自定义消息
- MFC自定义消息
- MFC中用户自定义类响应自定义消息
- [ZZ]MFC 自定义消息
- 在MFC中如何自定义消息及相应事件(VC6.0及VS2005)