CValueWnd.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. #pragma once
  2. #include "../pch/pch.h"
  3. #include <zpzDll/zpzDll.h>
  4. #include "CMenuWnd.h"
  5. #include "CSystemSettingWnd.h"
  6. #include "CDingweiInfoWnd.h"
  7. #include "COcrWnd.h"
  8. #include "CShoukuanWnd.h"
  9. class CValueWnd : public CWindowWnd, public INotifyUI, public IMessageFilterUI
  10. {
  11. public:
  12. LPCTSTR GetWindowClassName() const
  13. {
  14. return _T("UIValueFrame");
  15. };
  16. UINT GetClassStyle() const
  17. {
  18. return UI_CLASSSTYLE_DIALOG;
  19. };
  20. void OnFinalMessage(HWND /*hWnd*/)
  21. {
  22. //m_pm.RemovePreMessageFilter(this);
  23. delete this;
  24. };
  25. void Notify(TNotifyUI& msg);
  26. LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  27. LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  28. LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  29. LRESULT OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  30. LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  31. LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  32. LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  33. LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  34. LRESULT OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  35. LRESULT OnKexianUpdate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  36. LRESULT OnWatchWndUpdate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  37. LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  38. LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
  39. //显示收款界面
  40. void ShowShoukuan();
  41. //添加托盘图标(初始化)
  42. void AddTrayIcon();
  43. //处理托盘图标上的事件
  44. LRESULT OnTrayIcon(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  45. //处理热键
  46. LRESULT OnHotKey(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  47. void ShowSystemSetting();
  48. void Init();
  49. void TopMostWnd();
  50. void RestartWatch();
  51. void StartWatchWork();
  52. void ReadXunichuankouValue();
  53. void WatchWnd();
  54. void StartOcrWork();
  55. void StartDingweiWnd();
  56. void ConfirmDingweiWnd(std::wstring value, HWND hWnd);
  57. void CancalDingweiWnd();
  58. void StartDingweiWork();
  59. void StartOcrWnd();
  60. void ConfirmOcrWnd(RECT rect);
  61. void CancelOcr();
  62. tesseract::TessBaseAPI& GetTess();
  63. bool UpdateRegisterHotKey();
  64. private:
  65. void UpdateKexian(const char* data, int length);
  66. void InitWndPos();
  67. void ShowTrayMenu();
  68. public:
  69. CPaintManagerUI m_pm;
  70. private:
  71. //定义托盘图标对象
  72. NOTIFYICONDATA m_trayIcon;
  73. //菜单窗口
  74. CMenuWnd* pMenu;
  75. //收款窗口的参数
  76. bool m_is_show_shoukuan = false;
  77. CShoukuanWnd* m_shoukuanWnd = NULL;
  78. HWND m_shoukuanHWND = NULL;
  79. //设置窗口是否已经展示
  80. bool m_is_show_setting = false;
  81. CSystemSettingWnd* m_settingWnd;
  82. //默认监听的模式
  83. int m_nWatchType = -1;
  84. //监听是否进行
  85. bool m_isWatchWork = false;
  86. //窗口监听模式的参数
  87. HWND m_watchWnd = NULL;
  88. std::wstring m_watchValue = L"0.00";
  89. //窗口定位参数
  90. bool m_is_dingwei_wnd = false;
  91. CDingweiWnd* pDingweiWnd;
  92. CDingweiInfoWnd* pDingweiInfoWnd;
  93. //OCR模式的参数
  94. bool m_is_orc_wnd = false;
  95. COcrWnd* pOcrWnd;
  96. tesseract::TessBaseAPI m_tess;
  97. };