CValueWnd.h 2.0 KB

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