使用Thread更新progress bar速度好慢
計劃是在按下按鈕後,開始燒入,然後progress bar會跑進度
目前遇到的問題是當按下按鈕後,會開始燒入,可是progress bar沒有更新的跡象,當燒完成後才會開始更新,不知道為什麼
請問題哪裡錯了??
以為是部份的代碼
//按鈕
void WRITEDlg::OnBnClickedButtonWrite()
{
m_pThread=AfxBeginThread(ProgressThread,this);//開始執行Thread
pAPICtrl->Write(pBuf, MAXSIZE); //這樣是燒入
MessageBox(_T("完成"));
}
//Thread
UINT CEEPROMDlg::ProgressThread(LPVOID pParam)
{
::PostMessage(AfxGetMainWnd()->m_hWnd,WM_CHICKBUTTON ,0,0);
return 0;
}
//消息函數
LRESULT CEEPROMDlg::OnChickButton(WPARAM wParam, LPARAM lParam)
{
SetTimer(TIMER1,200,NULL);
return true;
}
//定計器
void CEEPROMDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: Add your message handler code here and/or call default
TimeNum=TimeNum+10;
if(TimeNum<=100)
{
m_WriteProgress.StepIt();
}
CDialog::OnTimer(nIDEvent);
}