| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- #pragma once
- #include "../pch/pch.h"
- #include "../control/CWaimaiOrderItemUI.h"
- #include "../zhipuzi/CWaimaiOrder.h"
- #include "../page/CBasePageUI.h"
- class CMessagePush;
- class CMainWnd : public CWindowWnd, public INotifyUI, public IMessageFilterUI
- {
- public:
- enum MainPageName
- {
- NOPAGE, //默认空页面
- DIANDAN, //点单
- DINGDAN,
- HUIYUAN,
- BAOBIAO,
- JIAOBAN,
- SETTING,
- GENGDUO,
- WAIMAIINFO, //外卖订单详情
- DIANNEIDINGDAN, //店内订单列表
- DIANNEIINFO, //店内订单详情
- SHANGPIN, //商品管理
- SHANGPIN_CREATE, //新建商品
- SHANGPIN_UPDATE, //修改商品
- ZHENGCAN, //正餐收银
- SAOMASHOUYIN, //扫码收银
- CAIGOU, //采购
- KUCUN, //库存
- };
- LPCTSTR GetWindowClassName() const
- {
- return _T("UIMainFrame");
- };
- UINT GetClassStyle() const
- {
- return CS_DBLCLKS;
- };
- void OnFinalMessage(HWND /*hWnd*/);
- //刚刚登录成功展现窗口的时候调用,做一些初始化
- void Init();
- //退出登陆,或者直接关闭程序,窗口销毁的时候使用
- void End();
-
- void SwitchPage(MainPageName name, bool is_init_show = true);
- void Notify(TNotifyUI& msg);
- void HandleClickMsg(TNotifyUI& msg);
- void HandleSelectChangeMsg(TNotifyUI& msg);
- void HandleItemSelectMsg(TNotifyUI& msg);
- void HandleTextChangedMsg(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 OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- //捕获键盘输入的消息
- LRESULT OnInput(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- //键盘消息
- LRESULT OnKeydown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
- //这个是用来处理一些自定义的消息
- bool HandleCustomMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
- LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, bool& bHandled);
- //添加托盘图标(初始化)
- void AddTrayIcon();
- //处理托盘图标上的事件
- LRESULT OnTrayIcon(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- //退出登陆
- void LoginOut(int mode);
- //展示toast
- void ShowToast(std::wstring toast_value);
- //根据更多里面的设置,刷新左边的功能导航
- void UpdateGongnengDaohang();
- //通过页面名字,切换页面,可以给更多页面调用
- void SwitchPageByName(std::wstring name);
- CBasePageUI* GetPage(int pageName)
- {
- if (m_pages.find(pageName) == m_pages.end())
- {
- return NULL;
- }
- return m_pages[pageName];
- }
- private:
- void UpdateFoodImage();
- //开启键盘输入监听
- void RegKeyboardRawInput();
- //创建所有将会用到的Page
- void CreatePages();
- void DestoryPages();
- //退出应用时调用
- void QuitApp();
- //弹框展示客服二维码
- void ShowKefu();
- //弹框展示下载二维码
- void ShowAppDownload();
- //展示进入智铺子商城的小程序
- void ShowShangcheng();
- public:
- CPaintManagerUI m_pm;
- private:
- CButtonUI* m_pCloseBtn;
- CButtonUI* m_pMaxBtn;
- CButtonUI* m_pRestoreBtn;
- CButtonUI* m_pMinBtn;
- //定义托盘图标对象
- NOTIFYICONDATA m_trayIcon;
- //当前页面类型
- MainPageName m_curPageName = NOPAGE;
- //当前页面指针
- CBasePageUI* m_curPageUI = NULL;
- //处理左侧tab高亮相关的
- std::wstring m_curOptionName;
- COptionUI* m_curOption;
- //抓取键盘输入相关的
- bool m_is_start_catch = false;
- clock_t m_last_catch_clock;
- std::string m_catch_string;
- //表示下一个抓取字符是否大写字母
- bool m_is_next_daxie;
- //当前所有提前创建的page
- std::map<int, CBasePageUI*> m_pages;
- };
|