CFirstMFCDlg.h
class CFirstMFCDlg
{
public:
static UINT AFX_CDECL ThreadProc(LPVOID pParam);//线程
virtual UINT Run(); //线程执行函数
afx_msg void OnBnClickedButtonSelf2();//创建事件
}
CFirstMFCDlg.cpp
UINT AFX_CDECL CFirstMFCDlg::ThreadProc(LPVOID pParam)
{
if (CFirstMFCDlg* pSelf = (CFirstMFCDlg*)pParam)
{
return pSelf->Run();
}
return 0;
}
UINT CFirstMFCDlg::Run()
{
int i = 5;
while (true)
{
if ( i <=0 )
{
break;
}
--i;
Sleep(1000);
}
return true;
}
void CFirstMFCDlg::OnBnClickedButtonSelf2()
{
if (CWinThread* p = AfxBeginThread(ThreadProc, (LPVOID)this))
{
DWORD dwRet = WaitForSingleObject(p->m_hThread, INFINITE);
if( dwRet == WAIT_OBJECT_0 )
{
//等待结束
int h = 1;
}
}
}