MFC线程创建以及利用线程显示字符
来源:互联网 发布:淘宝订单物流查询 编辑:程序博客网 时间:2024/05/17 06:14
1、首先利用VS2010建立MFC对话框应用程序命名为MFC_Thread_Test,去掉默认的union字符集,也可以在工程建立完后修改工程属性,改为多字符集
2、添加对话框类成员变量
CWinThread* Thread1;//定义线程指针
CWnd* MainWnd;//定义对话框窗口指针
3、定义并实现一个类成员函数,用来封装线程创建,这里只封装一个线程创建,可以创建多线程
定义:
void CreatThread();
实现:
void CMFC_Thread_TestDlg::CreatThread()
{
MainWnd=AfxGetApp()->m_pMainWnd;//获取对话框窗口指针
Thread1=AfxBeginThread(Thread1_Process,MainWnd,0,0,CREATE_SUSPENDED,NULL);//创建线程并挂起
Thread1->ResumeThread();//唤醒线程
}
4、定义并实现线程处理函数
定义一个全局的线程处理函数:
UINT Thread1_Process(LPVOID pParam);
实现该函数
UINT Thread1_Process(LPVOID pParam)
{
CMFC_Thread_TestDlg* pMainWnd=(CMFC_Thread_TestDlg*)pParam;//通过参数获取对话框窗口指针
pMainWnd->EditShow();//通过对话框窗口指针调用对话框类里面的成员函数
pMainWnd->GetDlgItem(IDC_EDIT2)->SetWindowText("NO EditShow!!!");//直接调用库函数显示字符串
return 0;
}
5、在对话框上加两个编辑框,ID分别为IDC_EDIT1、IDC_EDIT2。再加两个按钮ID为IDC_BUTTON1和IDC_BUTTON2。
将按钮一名字改为创建线程,按钮二改为清空显示,双击按钮一,添加处理函数,在处理函数里面加上:
CreatThread();
双击按钮二,添加处理函数,在函数里面加上:
GetDlgItem(IDC_EDIT1)->SetWindowText("");//清空编辑框1
GetDlgItem(IDC_EDIT2)->SetWindowText("");//清空编辑框2
6、再为对话框类添加一个成员函数
定义:
void EditShow();
实现:
void CMFC_Thread_TestDlg::EditShow();
{
GetDlgItem(IDC_EDIT1)->SetWindowText("Thread has been created!!!");//编辑框1显示
}
- MFC线程创建以及利用线程显示字符
- MFC 创建新线程
- MFC创建UI线程
- MFC创建UI线程
- mfc 创建新线程
- MFC之多线程创建
- MFC 创建新线程
- MFC创建UI线程
- MFC创建用户界面线程
- MFC创建工作者线程
- mfc 创建线程
- MFC创建线程
- mfc创建线程
- MFC 创建线程
- MFC动态创建线程
- MFC 创建UI线程
- MFC创建线程
- MFC创建一个线程
- CSS3/jQuery自定义弹出窗口
- xmppframework开发基础
- Parcelable与Serializable
- Mysql复制表结构、表数据
- 全栈工程师就是一棵歪脖子树
- MFC线程创建以及利用线程显示字符
- 黑马程序员 Java中根据YYYY-MM-DD格式的日期计算为星期几的两种实现方式
- POJ2186 Popular Cows 【裸缩环+Gabow算法强连通分量分解再建图】
- A. Queue on Bus Stop
- JDK1.5版本以后出现的新特性
- Android:用Handler实现异步处理功能
- spring bean作用域
- 求解:JQueryValidationEngine不支持双验证
- UI引擎开发系列(二) 事件分发处理