Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

79 lines
1.5 KiB

  1. //=======================================================================
  2. //
  3. // Copyright (c) 1999 Microsoft Corporation. All Rights Reserved.
  4. //
  5. // File: progress.h
  6. //
  7. // Purpose: Progress dialog
  8. //
  9. //=======================================================================
  10. #ifndef _PROGRESS_H
  11. #define _PROGRESS_H
  12. #include <wuv3ctl.h>
  13. #include <windows.h>
  14. #include <commctrl.h>
  15. #include "speed.h"
  16. #include "resource.h"
  17. class CWUProgress : public IWUProgress
  18. {
  19. public:
  20. enum ProgStyle {NORMAL, DOWNLOADONLY, OFF};
  21. CWUProgress(HINSTANCE hInst);
  22. ~CWUProgress();
  23. void Destroy();
  24. void SetStyle(ProgStyle style);
  25. void StartDisplay();
  26. void EndDisplay();
  27. void ResetAll();
  28. //IWUProgress
  29. void SetDownloadTotal(DWORD dwTotal);
  30. void SetDownload(DWORD dwDone = 0xffffffff);
  31. void SetDownloadAdd(DWORD dwAddSize, DWORD dwTime = 0);
  32. void SetInstallTotal(DWORD dwTotal);
  33. void SetInstall(DWORD dwDone = 0xffffffff);
  34. void SetInstallAdd(DWORD dwAdd);
  35. void SetStatusText(LPCTSTR pszStatus);
  36. HANDLE GetCancelEvent();
  37. private:
  38. HWND m_hDlg;
  39. HINSTANCE m_hInst;
  40. DWORD m_dwDownloadTotal;
  41. DWORD m_dwDownloadLast;
  42. DWORD m_dwDownloadVal;
  43. DWORD m_dwInstallTotal;
  44. DWORD m_dwInstallLast;
  45. DWORD m_dwInstallVal;
  46. DWORD m_style;
  47. HANDLE m_hCancelEvent;
  48. CWUProgress() {}
  49. void UpdateTime(DWORD dwBytesLeft);
  50. void UpdateBytes(DWORD dwDone);
  51. void UpdateLocStr(int iDlg, int iStr);
  52. protected:
  53. static INT_PTR CALLBACK DlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
  54. };
  55. #endif // _PROGRESS_H