在线程中常用到所在对话框中的成员变量,如对话框中控件的变量显示的改变。下面举两个不同方法的例子:
UINT WorkThread1(LPVOID param)
{
CTestDlg *pDlg=(CTestDlg*)AfxGetApp()->GetMainWnd(); // 第一种调用方法
for(int i=0;i<10;i++)
{
pDlg->SetDlgItemInt(IDC_EDIT_THRED1,i); // 第一种调用方法
if(i==9)
i=0;
Sleep(3000);
}
return 0;
}
UINT WorkThread2(LPVOID param)
{
CTestDlg *pDlg=(CTestDlg*)param; // 第二种调用方法
for(int i=0;i<30;i++)
{
pDlg->SetDlgItemInt(IDC_EDIT_THREAD2,i); // 第二种调用方法
if(i==29)
i=0;
Sleep(1000);
}
return 0;
}
AfxBeginThread(WorkThread1,0);
AfxBeginThread(WorkThread2,this);