回 帖 发 新 帖 刷新版面

主题:问个简单的线程问题

比如,我在主函数中做一个进度条,在线程中做一个进度条,我想让她们同时在显示进度,而实际情况是主函数的进度条满格之后线程中的进度条才开始显示进度 

不是一起的,是有先后顺序的,很是不明白,按理来说应该各跑各的 
void CFuleDlg::OnOK() 

// TODO: Add extra validation here 
AfxBeginThread(threadFunc,this); 
// m_pro2.CenterWindow(); 
m_pro2.ShowWindow(1); 
m_pro2.UpdateWindow(); 
m_pro2.SetRange(1,180); 
for (int i=0;i <180;i++) 

m_pro2.SetPos(i); 
Sleep(10); 
m_pro2.UpdateWindow(); 

CloseHandle(hwnd); 
//CDialog::OnOK(); 

UINT CFuleDlg::threadFunc(void *pParam) 

CFuleDlg *dlg=(CFuleDlg*)pParam; 
int x=1; 
int y=1; 
int z=1; 
int z1=1; 
int z2=1; 
int z3=1; 
dlg->m_pro.CenterWindow(); 
dlg->m_pro.ShowWindow(1); 
dlg->m_pro.UpdateWindow(); 
dlg->m_pro.SetRange(1,180); 
for (int i=0;i <180;i++) 

dlg->m_pro.SetPos(i); 
Sleep(10); 
dlg->m_pro.UpdateWindow(); 

return 0; 
}

回复列表 (共1个回复)

沙发

up

我来回复

您尚未登录,请登录后再回复。点此登录或注册