要在对话框中使用多线程,比如CTestDlg中使用线程,ThreadTest().则有两种方法,一是把ThreadTest()做为全局函数,另一种是做为CTestDlg类的静态成员函数.
其原型必须像这样:
UINT ThreadTest(LPVOID lpParam)
{
//......
}
线程中一般都有与对话框数据相关联,比如获得主窗口的数据,或者向窗口传送数据. 这时候便要把主窗口的指针传给线程函数.
这里面又有几种方法
1.
UINT ThreadTest(LPVOID lpParam)
{
CTestDlg *pdlg=(CTestDlg *)(AfxGetApp()->m_pMainWnd);
//......
}
2.
UINT ThreadTest(LPVOID lpParam)
{
CTestDlg *pdlg=(CTestDlg *)lpParam;
//......
}
阅读(5405) | 评论(0) | 转发(0) |