CValueWnd.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #pragma once
  2. #include "../pch/pch.h"
  3. #include <zpzDll/zpzDll.h>
  4. #include "../helper/WndHelper.h"
  5. #include "CMenuWnd.h"
  6. #include "CSystemSettingWnd.h"
  7. class CValueWnd : public CWindowWnd, public INotifyUI, public IMessageFilterUI
  8. {
  9. public:
  10. LPCTSTR GetWindowClassName() const
  11. {
  12. return _T("UIValueFrame");
  13. };
  14. UINT GetClassStyle() const
  15. {
  16. return UI_CLASSSTYLE_DIALOG;
  17. };
  18. void OnFinalMessage(HWND /*hWnd*/)
  19. {
  20. //m_pm.RemovePreMessageFilter(this);
  21. delete this;
  22. };
  23. void Notify(TNotifyUI& msg);
  24. LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  25. LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  26. LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  27. LRESULT OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  28. LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  29. LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  30. LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  31. LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  32. LRESULT OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  33. LRESULT OnKexianUpdate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  34. LRESULT OnWatchWndUpdate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  35. LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  36. LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
  37. //添加托盘图标(初始化)
  38. void AddTrayIcon();
  39. //处理托盘图标上的事件
  40. LRESULT OnTrayIcon(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  41. void Init();
  42. void RestartWatch();
  43. void ReadValue();
  44. void WatchWnd();
  45. private:
  46. void UpdateKexian(const char* data, int length);
  47. void FindValueWnd(std::wstring value);
  48. void InitWndPos();
  49. void ShowMenu();
  50. public:
  51. CPaintManagerUI m_pm;
  52. private:
  53. HWND m_watchWnd = NULL;
  54. string m_watchValue;
  55. //定义托盘图标对象
  56. NOTIFYICONDATA m_trayIcon;
  57. //菜单窗口
  58. CMenuWnd* pMenu;
  59. bool m_is_show_setting = false;
  60. //默认串口监听的模式
  61. int m_nWatchType = -1;
  62. };