| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235 |
- #pragma once
- #include "../pch/pch.h"
- #include <zpzDll/zpzDll.h>
- #include "CMenuWnd.h"
- #include "CSystemSettingWnd.h"
- #include "CJiaoyijiluWnd.h"
- #include "CJiaoyihuizongWnd.h"
- #include "CJiaobanWnd.h"
- #include "CDingweiInfoWnd.h"
- #include "COcrWnd.h"
- #include "CShoukuanWnd.h"
- #include "CTuikuanWnd.h"
- #include "../tool/CJiaobanMessage.h"
- class CMessagePush;
- class CValueWnd : public CWindowWnd, public INotifyUI, public IMessageFilterUI
- {
- public:
- LPCTSTR GetWindowClassName() const
- {
- return _T("UIValueFrame");
- };
- UINT GetClassStyle() const
- {
- return UI_CLASSSTYLE_DIALOG;
- };
- void OnFinalMessage(HWND /*hWnd*/)
- {
- m_pm.RemovePreMessageFilter(this);
- delete this;
- };
- void Notify(TNotifyUI& msg);
- LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnClose(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnNcActivate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnNcPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnLButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnKexianUpdate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnWatchWndUpdate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- /*
- *这个是消息到达窗口过程之后的逻辑
- **/
- LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
- /*
- *这个是消息到达窗口过程之前的过滤
- */
- LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
- //显示收款界面
- void ShowShoukuan();
- void CloseShoukuan();
- //显示退款界面
- void ShowTuikuan();
- void CloseTuikuan();
- //添加托盘图标(初始化)
- void AddTrayIcon();
- //处理托盘图标上的事件
- LRESULT OnTrayIcon(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- //处理热键
- LRESULT OnHotKey(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- //显示设置页面
- void ShowSystemSetting();
- //关闭设置页面
- void CloseSystemSetting();
- //显示交易记录页面
- void ShowJiaoyijilu();
- void CloseJiaoyijilu();
- //显示交易汇总页面
- void ShowJiaoyihuizong();
- void CloseJiaoyihuizong();
- //显示交班页面
- void ShowJiaoban();
- void CloseJiaoban();
- bool Clear();
- void Logout();
- void QuitApp();
- void Init();
- void TopMostWnd();
- void StopTopMostWnd();
- void RestartWatch();
- void StopWatch();
- void StartWatchWork();
- void ReadXunichuankouValue();
- void WatchWnd();
- void StartOcrWork();
- void StartDingweiWnd();
- void ConfirmDingweiWnd(std::wstring value, HWND hWnd);
- void CancalDingweiWnd();
- void StartDingweiWork();
- void StartOcrWnd();
- void ConfirmOcrWnd(RECT rect);
- void CancelOcr();
- tesseract::TessBaseAPI& GetTess();
- bool UpdateRegisterHotKey();
- void RegKeyboardRawInput();
-
- //打印测试小票
- void PrintTest();
- void PrintZhifu(std::string out_trade_no);
- void PrintTuikuan(std::string out_trade_no);
- void PrintJiaoban(CJiaobanMessage& message);
- private:
- void UpdateKexian(const char* data, int length);
- void InitWndPos();
- void ShowTrayMenu();
- public:
- CPaintManagerUI m_pm;
- private:
- //定义托盘图标对象
- NOTIFYICONDATA m_trayIcon;
- CMessagePush* m_push = NULL;
- //菜单窗口
- CMenuWnd* pMenu;
- //收款窗口的参数
- bool m_is_show_shoukuan = false;
- CShoukuanWnd* m_shoukuanWnd = NULL;
- //退款窗口的参数
- bool m_is_show_tuikuan = false;
- CTuikuanWnd* m_tuikuanWnd = NULL;
- //设置窗口是否已经展示
- bool m_is_show_setting = false;
- CSystemSettingWnd* m_settingWnd;
- //交易记录窗口是否已经显示
- bool m_is_show_jiaoyijilu = false;
- CJiaoyijiluWnd* m_jiaoyijiluWnd;
- //交易汇总窗口是否已经显示
- bool m_is_show_jiaoyihuizong = false;
- CJiaoyihuizongWnd* m_jiaoyihuizongWnd;
- //交班窗口是否已经显示
- bool m_is_show_jiaoban = false;
- CJiaobanWnd* m_jiaobanWnd;
- //默认监听的模式
- int m_nWatchType = -1;
- //监听是否进行
- bool m_isWatchWork = false;
- //窗口监听模式的参数
- HWND m_watchWnd = NULL;
- std::wstring m_watchValue = L"0.00";
- //窗口定位参数
- bool m_is_dingwei_wnd = false;
- CDingweiWnd* pDingweiWnd;
- CDingweiInfoWnd* pDingweiInfoWnd;
-
- //OCR模式的参数
- bool m_is_orc_wnd = false;
- COcrWnd* pOcrWnd;
- tesseract::TessBaseAPI m_tess;
- //抓取键盘输入相关的
- bool m_is_start_catch = false;
- clock_t m_last_catch_clock;
- std::string m_catch_string;
- //抢焦点的状态相关的
- bool m_is_topmost = true;
- //表示各个监控的状态
- bool m_is_xunichuangkou_working = false;
- bool m_is_chuangkou_working = false;
- bool m_is_orc_working = false;
- };
|