MFC多线程之用户界面线程
2014-09-04 11:17
260 查看
1、用户界面线程,即UI线程的创建,需要先添加一个继承于CWinThread类的派生类:
2、添加一个按钮,在其响应函数中创建线程:
3、OK,这样一个UI线程就创建了:
4、发送线程消息:
(1)定义一个成员变量CWinThread *pThread;,用于保存新建线程的句柄(初始化为NULL);
(2)添加一个按钮 ;
(3)在对话框类中添加一个成员变量CString m_Msg;
(4)定义一个消息,为了方便定义在stdafx.h中:#define WM_MY_THREAD_MSG WM_APP + 100
(5)在线程类中处理消息映射:
BEGIN_MESSAGE_MAP(CMy_UI_Thread, CWinThread)
ON_THREAD_MESSAGE(WM_MY_THREAD_MSG, threadFunc)
END_MESSAGE_MAP()
(6)threadFunc函数的实现:
void threadFunc(WPARAM wParam, LPARAM lParam);
void CMy_UI_Thread::threadFunc(WPARAM wParam, LPARAM lParam)
{
CUI_ThreadDlg *pDlg = (CUI_ThreadDlg*)wParam;
if (pDlg != NULL)
{
AfxMessageBox(pDlg->m_Msg);
}
}
5、工程源码(包含前一篇工作者线程和本篇UI线程两个工程):
http://download.csdn.net/detail/wwkaven/7862829
class CMy_UI_Thread : public CWinThread { DECLARE_DYNCREATE(CMy_UI_Thread) protected: CMy_UI_Thread(); // 动态创建所使用的受保护的构造函数 virtual ~CMy_UI_Thread(); public: virtual BOOL InitInstance(); virtual int ExitInstance(); protected: DECLARE_MESSAGE_MAP() };
2、添加一个按钮,在其响应函数中创建线程:
void CUI_ThreadDlg::OnBnClickedBtnUiThread() { // TODO: 在此添加控件通知处理程序代码 AfxBeginThread(RUNTIME_CLASS(CMy_UI_Thread)); }注:别忘了包含CMy_UI_Thread的头文件#include "My_UI_Thread.h"
3、OK,这样一个UI线程就创建了:
4、发送线程消息:
(1)定义一个成员变量CWinThread *pThread;,用于保存新建线程的句柄(初始化为NULL);
(2)添加一个按钮 ;
(3)在对话框类中添加一个成员变量CString m_Msg;
(4)定义一个消息,为了方便定义在stdafx.h中:#define WM_MY_THREAD_MSG WM_APP + 100
(5)在线程类中处理消息映射:
BEGIN_MESSAGE_MAP(CMy_UI_Thread, CWinThread)
ON_THREAD_MESSAGE(WM_MY_THREAD_MSG, threadFunc)
END_MESSAGE_MAP()
(6)threadFunc函数的实现:
void threadFunc(WPARAM wParam, LPARAM lParam);
void CMy_UI_Thread::threadFunc(WPARAM wParam, LPARAM lParam)
{
CUI_ThreadDlg *pDlg = (CUI_ThreadDlg*)wParam;
if (pDlg != NULL)
{
AfxMessageBox(pDlg->m_Msg);
}
}
5、工程源码(包含前一篇工作者线程和本篇UI线程两个工程):
http://download.csdn.net/detail/wwkaven/7862829
相关文章推荐
- MFC界面包装类-多线程时成员函数调用的断言失败
- 多线程专题之MFC创建线程(2)
- mfc多线程编程之三——线程间通讯
- MFC 界面线程和工作者线程
- 多线程任务时,向程序界面发出信息,并且等待用户响应
- 创建用户接口线程 MFC
- MFC多线程编程之四——线程的同步
- MFC 界面线程和工作者线程
- MFC 中的多线程(Work线程)(转)
- MFC 界面线程和工作者线程
- MFC界面包装类(多线程时成员函数调用的断言失败)
- MFC VS2008中的新用户界面 ————菜单栏、工具栏和状态栏
- MFC界面包装类 ——多线程时成员函数调用
- 利用用户级线程提高多线程应用的性能
- 多线程专题之MFC创建线程(2)
- 多线程专题之MFC创建线程(1)
- 多线程编程学习3——使用MFC工作者线程
- mfc界面包装类 ——多线程时成员函数调用的断言失败
- 多线程专题之MFC创建线程
- MFC 中的多线程(Work线程)