如何用线程解决?
BOOL m_flag=FALSE;//CTestDlg public menber variable
int m_num=0; //CTestDlg public menber variable
void CTestDlg::OnButton1()
{
// TODO: Add your control notification handler code here
m_flag=TRUE;
m_num=30;
PRINT(m_num);
}
void CTestDlg::OnButton2()
{
// TODO: Add your control notification handler code here
m_flag=FALSE;
}
void CTestDlg::PRINT(int a)
{
CString temp="";
if(m_flag)
{
Sleep(1000);
m_num--;
temp.Format("%d",m_num);
((CStatic*)GetDlgItem(IDC_STATIC1))->SetWindowText(temp);
if(m_num==0)
m_flag=FALSE;
PRINT(m_num);
}
}
一旦按下OnButton1进入递归,界面和OnButton2均无法操作,试过在onbutton1按下是创建一个线程把PRINT放到线程中,但老是出错...小弟对线程不是很熟,请高人指点线程声明放哪?定义放哪?最好能提供点代码!