MainFrm.h 7.7 KB

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