MainFrm.h 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. // MainFrm.h : interface of the CMainFrame class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MAINFRM_H__2486F51E_8985_401E_AB91_D618397AED05__INCLUDED_)
  5. #define AFX_MAINFRM_H__2486F51E_8985_401E_AB91_D618397AED05__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "BCMenu.h"
  10. #include "TrueColorToolBar.h"
  11. #include "MyToolBar.h"
  12. #include "MyMdi.H"
  13. #include "ClientTunnel.h"
  14. #include "ClientWnd.h"
  15. #include "MainFrimDlg2.h"
  16. #include "PrintRX.h"
  17. class CMainFrame : public CMDIFrameWnd
  18. {
  19. HICON m_hIcon;
  20. protected: // create from serialization only
  21. DECLARE_DYNCREATE(CMainFrame)
  22. MainFrimDlg2 *m_pMainFrimDlg2; //
  23. BCMenu m_menuXP; // 菜单
  24. /* 以下两类,都是继承CTooBar */
  25. CTrueColorToolBar m_wndToolBar; //
  26. MyToolBar m_wndToolBar2; //
  27. public:
  28. BOOL m_bCheckF2F3;
  29. CMainFrame();
  30. CMyMdi m_Mdi; //
  31. CStatusBar m_wndStatusBar; // 状态栏
  32. CClientWnd m_wndClient; // 客户显示区域
  33. CClientTunnel m_tClientTunnel; // 通信对象
  34. DWORD m_dwConnectionID; // 通信连接id
  35. // Overrides
  36. public:
  37. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  38. virtual BOOL PreTranslateMessage(MSG* pMsg);
  39. //}}AFX_VIRTUAL
  40. // Implementation
  41. public:
  42. HMENU NewMenu();
  43. virtual ~CMainFrame();
  44. #ifdef _DEBUG
  45. virtual void AssertValid() const;
  46. virtual void Dump(CDumpContext& dc) const;
  47. #endif
  48. // Generated message map functions
  49. protected:
  50. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  51. afx_msg void OnDestroy();
  52. afx_msg void OnClose();
  53. afx_msg void OnTimer(UINT nIDEvent);
  54. afx_msg void Onchoosephotoskin();
  55. afx_msg void OnPath();
  56. afx_msg void OnServer();
  57. afx_msg void OnShowhis();
  58. afx_msg void OnStaffAchievementShow();
  59. afx_msg void OnAutodelphoto();
  60. afx_msg void Onphotomanage();
  61. afx_msg void OnCompanyinfo();
  62. afx_msg void OnHelpfile();
  63. afx_msg void OnPhotobak();
  64. afx_msg void OnTaoxifg();
  65. afx_msg void OnShowBakState();
  66. afx_msg void OnLog();
  67. //}}AFX_MSG
  68. //afx_msg UINT OnNcHitTest(CPoint point);
  69. #if defined(VC70) || defined(VC60)
  70. afx_msg UINT OnNcHitTest(CPoint point);
  71. #else
  72. afx_msg LRESULT OnNcHitTest(CPoint point);
  73. #endif
  74. afx_msg void OnNcLButtonDblClk(UINT nFlags, CPoint point);
  75. DECLARE_MESSAGE_MAP()
  76. public:
  77. void ShowMonthForm2();
  78. BOOL OnConnectLYFZ();
  79. void PrintHireDress2();
  80. void PrintHireDress(CString no);
  81. void PrintHireDress_01(CString strOrderNumber); // Jeff add.2014.09.02
  82. void PrintThumbNail(CStringArray *array, CString client, BOOL bDir, CString m_size);
  83. void PrintDailyForm(CArray<CStringArray, CStringArray>*Listarray, CString title, CString info);
  84. void PrintLoginForm(CArray<CStringArray, CStringArray>*Listarray, CString title, CString info);
  85. void PrintTakeForm(CArray<CStringArray, CStringArray>*Listarray);
  86. void PrintTakeForm1(CArray<CStringArray, CStringArray>*Listarray);
  87. void PrintTakeForm2(CArray<CStringArray, CStringArray>*Listarray);
  88. void PrintTakeForm3(CArray<CStringArray, CStringArray>*Listarray);
  89. void PrintTakeForm4(CArray<CStringArray, CStringArray>*Listarray);
  90. void PrintTakeForm5(CArray<CStringArray, CStringArray>*Listarray);
  91. void PrintDinDan(CString strOrderNumber);
  92. void PrintDinDan2(CString strOrderNumber);
  93. void PrintDinDan3(CString strOrderNumber);
  94. void PrintDinDan4(CString strOrderNumber);
  95. void PrintDinDan5(CString strOrderNumber);
  96. void PrintDinDan6(CString strOrderNumber);
  97. void PrintFlowChart2(CString strOrderNumber);
  98. void PrintFlowChart3(CString strOrderNumber);
  99. void PrintFlowChart4(CString strOrderNumber);
  100. void PrintReceipt2(CString strOrderNumber);
  101. void PrintFlowChart(CString strOrderNumber);
  102. void PrintFlowChart3LKAY(CString strOrderNumber);
  103. void PrintReceipt(CStringArray *pArray);
  104. void PrintReceipt_01(CStringArray *pArray); // Jeff添加支付方式
  105. void PrintReceipt_02(CStringArray *pArray,CPrintRX *pPrinter = NULL,const int &nCount = 1,const BOOL bPrintImmediately = FALSE); // Jeff添加支付方式
  106. void PrintReceipt2(CStringArray *pArray);
  107. void PrintReceipt3(CString strOrderNumber, CStringArray *pArray, float money); // 打印收据
  108. CString GetDanWei(CString name, CArray<CStringArray, CStringArray>*array);
  109. BOOL IsCtrlDown();
  110. BOOL IsShiftDown();
  111. void LinkClick(CString str, int nParent);
  112. void ResetTimer();
  113. void NewMenu2();
  114. void OnCommandMenu(UINT nID); //响应菜单命令
  115. void OnClose2();
  116. void OnHistory(UINT nID);
  117. void OnBranchData(UINT nID);
  118. void OnBranchData2(UINT nID);
  119. void AddHistoryMenu(CArray<CStringArray, CStringArray>*hisyeararray);
  120. void AddBranchMenu(CArray<CStringArray, CStringArray>*hisyeararray);
  121. void GetOcx();
  122. void ToPhotoPrint();
  123. // void SetSelFolder(int pos);
  124. void GetSkin();
  125. void AutoUpdate();
  126. void OnOutbarNotify(CString str);
  127. /*********************************************************************/
  128. void ProcessChatMessageRequest2(BYTE code);
  129. void ProcessChatMessageRequest2(CString sql);
  130. void ProcessChatMessageRequest2(BYTE *pData, int length);
  131. void InsideMsg();
  132. int GetPort();
  133. // Jeff:以下6个连接,每个连接的服务器都不一样;
  134. BOOL OnConnect();
  135. BOOL OnConnectIP();
  136. BOOL OnConnectBranch();
  137. BOOL OnConnectBranch2();
  138. BOOL OnConnect2();
  139. BOOL OnConnect3();
  140. // .断开与服务器的连接,并设置连接id为INVALID_SOCKET;
  141. void OnDisconnect();
  142. // .获取当前客户端与服务端的连接id;
  143. DWORD GetConnectionID();
  144. // .当连接服务器成功后,服务器返回当前与客户端连接的SOCKET值,用该值设置为连接id;
  145. void SetConnectionID(DWORD dwConnection);
  146. // .用户登陆服务器请求;
  147. BOOL ProcessLoginRequest();
  148. // .用户登陆服务请求,服务器的响应返回;
  149. void ProcessLoginResponse(void *pLoginResult);
  150. // .客户端登陆后,聊天数据请求;
  151. BOOL ProcessChatMessageRequest(void *szDataBuf, int nDataLen);
  152. // .客户端登陆后,聊天数据请求,服务端的响应返回;
  153. void ProcessChatMessageResponse(void *pResponse);
  154. // .客户端的网络事件接收处理;
  155. void ProcessNetEvent(int nEventType, void *pRecvMsg, DWORD dwDataLen);
  156. };
  157. #endif // !defined(AFX_MAINFRM_H__2486F51E_8985_401E_AB91_D618397AED05__INCLUDED_)
  158. /************************************************************************/
  159. /*
  160. //////////////////////////////////////////////////////////////////////////
  161. 客户端通信对象:
  162. CClientTunnel m_tClientTunnel
  163. 第一步,调用以下连接服务器函数;
  164. BOOL OnConnect();
  165. BOOL OnConnectIP();
  166. BOOL OnConnectBranch();
  167. BOOL OnConnectBranch2();
  168. BOOL OnConnect2();
  169. BOOL OnConnect3();
  170. 第二步,登录服务器,事件处理,响应返回;
  171. BOOL ProcessLoginRequest();
  172. void ProcessNetEvent(int nEventType, void *pRecvMsg, DWORD dwDataLen);
  173. void ProcessLoginResponse(void *pLoginResult);
  174. 第三步;
  175. BOOL ProcessChatMessageRequest(void *szDataBuf, int nDataLen);
  176. void ProcessNetEvent(int nEventType, void *pRecvMsg, DWORD dwDataLen);
  177. void ProcessChatMessageResponse(void *pResponse);
  178. 第四步,处理完毕,断开连接;
  179. void OnDisconnect();
  180. //////////////////////////////////////////////////////////////////////////
  181. 1.CMainFrame::OnCreate() 中调用 SetTimer(1,NULL,10);来登录服务器;
  182. 2.CMainFrame::OnTimer()中, 执行welcome dlg, 且此时g_bNoLoginLia 为 0(skin文件夹里有5.lia则为0,否则为1),则执行Login3 dlg;
  183. 3.welcome::OnTimer()中,正常情况下g_bGenBranchData为0,则g_nSendCode被设置为211;
  184. 注:g_nSendCode在服务端名称是dwToUserID.
  185. g_nSendCode=211: 更新 \服务端\skin\ 文件夹下的大小变更的文件到客户端去;
  186. g_nSendCode=21: 也是更新,处理方式不一样;
  187. 4.welcome::OnTimer()里调用了CMainFrame::ProcessChatMessageRequest2,ProcessChatMessageRequest2再调用SendDataDlg dlg;
  188. 5.SendDataDlg::OnTimer里调用CConnectDlg dlg 进行连接服务器和登陆服务器的动作;
  189. 6.CConnectDlg::OnTimer里调用CMainFrame::OnConnect();
  190. 7.CMainFrame::OnConnect(),里连接了服务器,然后调用CMainFrame::ProcessLoginRequest()登录服务器;
  191. 8.最后CMainFrame::ProcessChatMessageRequest2里启动SetTimer(2,g_ntimeout,NULL)来断开连接;
  192. */
  193. /************************************************************************/