MainFrm.h 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  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. afx_msg void OnNcLButtonDblClk(UINT nFlags, CPoint point);
  70. DECLARE_MESSAGE_MAP()
  71. public:
  72. void ShowMonthForm2();
  73. BOOL OnConnectLYFZ();
  74. void PrintHireDress2();
  75. void PrintHireDress(CString no);
  76. void PrintHireDress_01(CString strOrderNumber); // Jeff add.2014.09.02
  77. void PrintThumbNail(CStringArray *array, CString client, BOOL bDir, CString m_size);
  78. void PrintDailyForm(CArray<CStringArray, CStringArray>*Listarray, CString title, CString info);
  79. void PrintLoginForm(CArray<CStringArray, CStringArray>*Listarray, CString title, CString info);
  80. void PrintTakeForm(CArray<CStringArray, CStringArray>*Listarray);
  81. void PrintTakeForm1(CArray<CStringArray, CStringArray>*Listarray);
  82. void PrintTakeForm2(CArray<CStringArray, CStringArray>*Listarray);
  83. void PrintTakeForm3(CArray<CStringArray, CStringArray>*Listarray);
  84. void PrintTakeForm4(CArray<CStringArray, CStringArray>*Listarray);
  85. void PrintTakeForm5(CArray<CStringArray, CStringArray>*Listarray);
  86. void PrintDinDan(CString strOrderNumber);
  87. void PrintDinDan2(CString strOrderNumber);
  88. void PrintDinDan3(CString strOrderNumber);
  89. void PrintDinDan4(CString strOrderNumber);
  90. void PrintDinDan5(CString strOrderNumber);
  91. void PrintDinDan6(CString strOrderNumber);
  92. void PrintFlowChart2(CString strOrderNumber);
  93. void PrintFlowChart3(CString strOrderNumber);
  94. void PrintFlowChart4(CString strOrderNumber);
  95. void PrintReceipt2(CString strOrderNumber);
  96. void PrintFlowChart(CString strOrderNumber);
  97. void PrintFlowChart3LKAY(CString strOrderNumber);
  98. void PrintReceipt(CStringArray *pArray);
  99. void PrintReceipt_01(CStringArray *pArray); // Jeff添加支付方式
  100. void PrintReceipt_02(CStringArray *pArray,CPrintRX *pPrinter = NULL,const int &nCount = 1,const BOOL bPrintImmediately = FALSE); // Jeff添加支付方式
  101. void PrintReceipt2(CStringArray *pArray);
  102. void PrintReceipt3(CString strOrderNumber, CStringArray *pArray, float money); // 打印收据
  103. CString GetDanWei(CString name, CArray<CStringArray, CStringArray>*array);
  104. BOOL IsCtrlDown();
  105. BOOL IsShiftDown();
  106. void LinkClick(CString str, int nParent);
  107. void ResetTimer();
  108. void NewMenu2();
  109. void OnCommandMenu(UINT nID); //响应菜单命令
  110. void OnClose2();
  111. void OnHistory(UINT nID);
  112. void OnBranchData(UINT nID);
  113. void OnBranchData2(UINT nID);
  114. void AddHistoryMenu(CArray<CStringArray, CStringArray>*hisyeararray);
  115. void AddBranchMenu(CArray<CStringArray, CStringArray>*branchArray);
  116. void GetOcx();
  117. void ToPhotoPrint();
  118. // void SetSelFolder(int pos);
  119. void GetSkin();
  120. void AutoUpdate();
  121. void OnOutbarNotify(CString str);
  122. /*********************************************************************/
  123. void ProcessChatMessageRequest2(BYTE code);
  124. void ProcessChatMessageRequest2(CString sql);
  125. void ProcessChatMessageRequest2(BYTE *pData, int length);
  126. void InsideMsg();
  127. int GetPort();
  128. // Jeff:以下6个连接,每个连接的服务器都不一样;
  129. BOOL OnConnect();
  130. BOOL OnConnectIP();
  131. BOOL OnConnectBranch();
  132. BOOL OnConnectBranch2();
  133. BOOL OnConnect2();
  134. BOOL OnConnect3();
  135. // .断开与服务器的连接,并设置连接id为INVALID_SOCKET;
  136. void OnDisconnect();
  137. // .获取当前客户端与服务端的连接id;
  138. DWORD GetConnectionID();
  139. // .当连接服务器成功后,服务器返回当前与客户端连接的SOCKET值,用该值设置为连接id;
  140. void SetConnectionID(DWORD dwConnection);
  141. // .用户登陆服务器请求;
  142. BOOL ProcessLoginRequest();
  143. // .用户登陆服务请求,服务器的响应返回;
  144. void ProcessLoginResponse(void *pLoginResult);
  145. // .客户端登陆后,聊天数据请求;
  146. BOOL ProcessChatMessageRequest(void *szDataBuf, int nDataLen);
  147. // .客户端登陆后,聊天数据请求,服务端的响应返回;
  148. void ProcessChatMessageResponse(void *pResponse);
  149. // .客户端的网络事件接收处理;
  150. void ProcessNetEvent(int nEventType, void *pRecvMsg, DWORD dwDataLen);
  151. };
  152. #endif // !defined(AFX_MAINFRM_H__2486F51E_8985_401E_AB91_D618397AED05__INCLUDED_)
  153. /************************************************************************/
  154. /*
  155. //////////////////////////////////////////////////////////////////////////
  156. 客户端通信对象:
  157. CClientTunnel m_tClientTunnel
  158. 第一步,调用以下连接服务器函数;
  159. BOOL OnConnect();
  160. BOOL OnConnectIP();
  161. BOOL OnConnectBranch();
  162. BOOL OnConnectBranch2();
  163. BOOL OnConnect2();
  164. BOOL OnConnect3();
  165. 第二步,登录服务器,事件处理,响应返回;
  166. BOOL ProcessLoginRequest();
  167. void ProcessNetEvent(int nEventType, void *pRecvMsg, DWORD dwDataLen);
  168. void ProcessLoginResponse(void *pLoginResult);
  169. 第三步;
  170. BOOL ProcessChatMessageRequest(void *szDataBuf, int nDataLen);
  171. void ProcessNetEvent(int nEventType, void *pRecvMsg, DWORD dwDataLen);
  172. void ProcessChatMessageResponse(void *pResponse);
  173. 第四步,处理完毕,断开连接;
  174. void OnDisconnect();
  175. //////////////////////////////////////////////////////////////////////////
  176. 1.CMainFrame::OnCreate() 中调用 SetTimer(1,NULL,10);来登录服务器;
  177. 2.CMainFrame::OnTimer()中, 执行welcome dlg, 且此时g_bNoLoginLia 为 0(skin文件夹里有5.lia则为0,否则为1),则执行Login3 dlg;
  178. 3.welcome::OnTimer()中,正常情况下g_bGenBranchData为0,则g_nSendCode被设置为211;
  179. 注:g_nSendCode在服务端名称是dwToUserID.
  180. g_nSendCode=211: 更新 \服务端\skin\ 文件夹下的大小变更的文件到客户端去;
  181. g_nSendCode=21: 也是更新,处理方式不一样;
  182. 4.welcome::OnTimer()里调用了CMainFrame::ProcessChatMessageRequest2,ProcessChatMessageRequest2再调用SendDataDlg dlg;
  183. 5.SendDataDlg::OnTimer里调用CConnectDlg dlg 进行连接服务器和登陆服务器的动作;
  184. 6.CConnectDlg::OnTimer里调用CMainFrame::OnConnect();
  185. 7.CMainFrame::OnConnect(),里连接了服务器,然后调用CMainFrame::ProcessLoginRequest()登录服务器;
  186. 8.最后CMainFrame::ProcessChatMessageRequest2里启动SetTimer(2,g_ntimeout,NULL)来断开连接;
  187. */
  188. /************************************************************************/