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.

98 lines
3.0 KiB

  1. //=======================================================================
  2. //
  3. // Copyright (c) 2000 Microsoft Corporation. All Rights Reserved.
  4. //
  5. // File: EvtMsgWnd.h: interface for the CEventMsgWindow class.
  6. //
  7. // Description:
  8. // This window class is used to handle all event firing
  9. // messages posted during downloading/installation.
  10. //
  11. // all custom message IDs are defined in this file too,
  12. // as well as the structure to pass event data
  13. //
  14. // Created by: Charles Ma
  15. // 6/18/1999
  16. //
  17. //=======================================================================
  18. #ifndef __EVTMSGWND_H_
  19. #define __EVTMSGWND_H_
  20. #if _MSC_VER > 1000
  21. #pragma once
  22. #endif // _MSC_VER > 1000
  23. #include <shellapi.h>
  24. #include <atlwin.h>
  25. #include <iu.h>
  26. /////////////////////////////////////////////////////////////////////////////
  27. // class forward declaration
  28. /////////////////////////////////////////////////////////////////////////////
  29. class CUpdate;
  30. /////////////////////////////////////////////////////////////////////////////
  31. // CEventMsgWindow
  32. class CEventMsgWindow : public CWindowImpl<CEventMsgWindow>
  33. {
  34. public:
  35. /////////////////////////////////////////////////////////////////////////////
  36. // Construction/Destruction
  37. /////////////////////////////////////////////////////////////////////////////
  38. CEventMsgWindow(CUpdate* pControl) : m_pControl(pControl), m_hWnd(NULL)
  39. {
  40. }
  41. virtual ~CEventMsgWindow()
  42. {
  43. };
  44. /////////////////////////////////////////////////////////////////////////////
  45. // override method
  46. //
  47. // we need to create a popup window - a control can not create
  48. // a top-level child window
  49. //
  50. /////////////////////////////////////////////////////////////////////////////
  51. void Create();
  52. /////////////////////////////////////////////////////////////////////////////
  53. // destroy the window
  54. /////////////////////////////////////////////////////////////////////////////
  55. void Destroy();
  56. /////////////////////////////////////////////////////////////////////////////
  57. // get evt window handler
  58. /////////////////////////////////////////////////////////////////////////////
  59. HWND GetEvtHWnd() { return m_hWnd; };
  60. /////////////////////////////////////////////////////////////////////////////
  61. // message maps define all messages we handled in this class
  62. /////////////////////////////////////////////////////////////////////////////
  63. BEGIN_MSG_MAP(CEventMsgWindow)
  64. MESSAGE_HANDLER(UM_EVENT_ITEMSTART, OnFireEvent)
  65. MESSAGE_HANDLER(UM_EVENT_PROGRESS, OnFireEvent)
  66. MESSAGE_HANDLER(UM_EVENT_COMPLETE, OnFireEvent)
  67. MESSAGE_HANDLER(UM_EVENT_SELFUPDATE_COMPLETE, OnFireEvent)
  68. END_MSG_MAP()
  69. /////////////////////////////////////////////////////////////////////////////
  70. // message handlers
  71. /////////////////////////////////////////////////////////////////////////////
  72. LRESULT OnFireEvent(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  73. private:
  74. //
  75. // disable the default constructor
  76. //
  77. CEventMsgWindow() {};
  78. HWND m_hWnd;
  79. CUpdate* m_pControl;
  80. };
  81. #endif //__EVTMSGWND_H_