ProgressBar.h 724 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. class CProgressBar : public ATL::CDialogImpl<CProgressBar>
  3. {
  4. public:
  5. enum {IDD = IDD_PROGRESSBAR};
  6. BEGIN_MSG_MAP_EX(CProgressBar)
  7. MSG_WM_TIMER(OnTimer)
  8. MSG_WM_INITDIALOG(OnInitDialog)
  9. MSG_WM_DESTROY(OnDestroy)
  10. END_MSG_MAP()
  11. BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam)
  12. {
  13. SetTimer(0, 500, NULL);
  14. m_ProgressBarCtrl = GetDlgItem(IDC_PROGRESS1);
  15. m_ProgressBarCtrl.SetPos(0);
  16. m_ProgressBarCtrl.SetStep(5);
  17. m_ProgressBarCtrl.SetRange(0, 100);
  18. return TRUE;
  19. }
  20. void OnTimer(UINT_PTR nIDEvent)
  21. {
  22. m_ProgressBarCtrl.StepIt();
  23. }
  24. void OnDestroy()
  25. {
  26. KillTimer(0);
  27. }
  28. void ResetStep()
  29. {
  30. m_ProgressBarCtrl.SetPos(0);
  31. }
  32. private:
  33. CProgressBarCtrl m_ProgressBarCtrl;
  34. };