<code class="lang-cpp">UINT ThreadProc1(LPVOID pParam) { CWorkThreadDlg *pWnd = (CWorkThreadDlg*)pParam; // 获取窗口指针 while(pWnd->m_progint < 100) { pWnd->m_progint++; // 工作 pWnd->SendMessage(WM_TIMER, 1, 0); // 报告工作(同步) Sleep(50); // 延时 } pWnd->PostMessage(WM_TIMER, 2, 0); // 报告处理完成(异步) return 0; } void CWorkThreadDlg::OnBnClickedStart() { AfxBeginThread(ThreadProc1, this); // 第二个参数是自定义指针,这里传递窗口指针 } void CWorkThreadDlg::OnBnClickedReset() { m_progint = 0; m_progress.SetPos(m_progint); } void CWorkThreadDlg::OnTimer(UINT_PTR nIDEvent) { if (nIDEvent == 1) { // 接到报告工作 m_progress.SetPos(m_progint); } else if (nIDEvent == 2) { // 接到报告完成 AfxMessageBox("工作完成!"); } }</code>
[修改于 9年6个月前 - 2015/06/11 06:25:26]
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |