求大神指导MFC多线程编程。进度条那种就行。我按照网上的例子运行出来 50
展开全部
我用的BOOST库中的线程库
void CTestBoost::OnBnClickedBtntestboost()
{
// TODO: 在此添加控件通知处理程序代码
UINT length = 500;
m_wndProgress.SetRange(0, length);
m_wndProgress.SetStep(1);
m_wndProgress.SetPos(0);
boost::thread t(boost::bind(&CTestBoost::RunTest, this, length));
t.detach();//将子线程和主线程分离,子线程执行完成后自己释放资源
}
void CTestBoost::RunTest(UINT length)
{
for(size_t i=0;i<length;i++)
{
m_wndProgress.SetPos(i);
Sleep(2);
}
MessageBox(_T("完成"),_T("提示"),MB_ICONINFORMATION);
GetDlgItem(IDC_BTNTESTBOOST)->EnableWindow(TRUE);
runState=0;
}
void CTestBoost::OnBnClickedBtntestboost()
{
// TODO: 在此添加控件通知处理程序代码
UINT length = 500;
m_wndProgress.SetRange(0, length);
m_wndProgress.SetStep(1);
m_wndProgress.SetPos(0);
boost::thread t(boost::bind(&CTestBoost::RunTest, this, length));
t.detach();//将子线程和主线程分离,子线程执行完成后自己释放资源
}
void CTestBoost::RunTest(UINT length)
{
for(size_t i=0;i<length;i++)
{
m_wndProgress.SetPos(i);
Sleep(2);
}
MessageBox(_T("完成"),_T("提示"),MB_ICONINFORMATION);
GetDlgItem(IDC_BTNTESTBOOST)->EnableWindow(TRUE);
runState=0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询