参考http://blog.csdn.net/lwbeyond/article/details/5686165
1. 主线程定义
HANDLE hEvent;
2,主线程新建线程
UINT MyThread(LPVOID pParam)
{
CMFCApplication2Dlg *pDlg = (CMFCApplication2Dlg*)pParam;
CProgressCtrl *pPro = &pDlg->m_Progress;
//CProgressCtrl *pPro = &pDlg->m_Progress;
while (1)
{
for (int n = 0; n<101; n++)
{
n++;
//pPro->SetPos(n);
//pPro->OffsetPos(1);
pPro->SetStep(1);
pPro->StepIt();
Sleep(100);
if (WAIT_OBJECT_0 == WaitForSingleObject(hEvent, INFINITE))//接收主程信号
{
return 0;//正常退出
}
}
}
return 0;
}
2.主线程执行
void CMFCApplication2Dlg::OnBnClickedButton1()
{
AfxBeginThread(MyThread, (LPVOID)this);//线程执行
hEvent = CreateEvent(NULL,FALSE, TRUE,NULL);//创建event事件
SetEvent(hEvent);//发送信号
}