SendDataDlg2.cpp 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. // SendDataDlg2.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ylgl.h"
  5. #include "SendDataDlg2.h"
  6. #include "ConnectDlg.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. extern HWND g_hSendWnd;
  13. /////////////////////////////////////////////////////////////////////////////
  14. // SendDataDlg2 dialog
  15. SendDataDlg2::SendDataDlg2(CWnd* pParent /*=NULL*/)
  16. : CDialog(SendDataDlg2::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(SendDataDlg2)
  19. // NOTE: the ClassWizard will add member initialization here
  20. //}}AFX_DATA_INIT
  21. pData=NULL;
  22. m_trytimes=0;
  23. m_pBk=NULL;
  24. }
  25. void SendDataDlg2::DoDataExchange(CDataExchange* pDX)
  26. {
  27. CDialog::DoDataExchange(pDX);
  28. //{{AFX_DATA_MAP(SendDataDlg2)
  29. // NOTE: the ClassWizard will add DDX and DDV calls here
  30. //}}AFX_DATA_MAP
  31. }
  32. BEGIN_MESSAGE_MAP(SendDataDlg2, CDialog)
  33. //{{AFX_MSG_MAP(SendDataDlg2)
  34. ON_WM_TIMER()
  35. ON_WM_DESTROY()
  36. ON_WM_CLOSE()
  37. ON_WM_PAINT()
  38. ON_WM_ERASEBKGND()
  39. //}}AFX_MSG_MAP
  40. END_MESSAGE_MAP()
  41. /////////////////////////////////////////////////////////////////////////////
  42. // SendDataDlg2 message handlers
  43. BOOL SendDataDlg2::OnEraseBkgnd(CDC* pDC)
  44. {
  45. // TODO: Add your message handler code here and/or call default
  46. #ifdef NEW_SKIN
  47. return 1;
  48. #else
  49. return CDialog::OnEraseBkgnd (pDC);
  50. #endif
  51. }
  52. void SendDataDlg2::OnOK()
  53. {
  54. // TODO: Add extra validation here
  55. }
  56. void SendDataDlg2::OnCancel()
  57. {
  58. // TODO: Add extra cleanup here
  59. }
  60. BOOL SendDataDlg2::OnInitDialog()
  61. {
  62. CDialog::OnInitDialog();// CenterWindow(g_pMainWnd);
  63. m_nconncot=0;
  64. if(g_bNoConnDlg)
  65. {
  66. SetWindowPos(&wndNoTopMost,0,0,0,0,SWP_HIDEWINDOW);
  67. ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
  68. }
  69. #ifdef NEW_SKIN
  70. if(::PathFileExists (g_mainpath+"\\图片\\连接.jpg") && g_bNoConnDlg==0)
  71. ::LoadImageFromBuf (&m_pBk, g_mainpath+"\\图片\\连接.jpg");
  72. #endif
  73. if(m_pBk)
  74. {
  75. GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
  76. CRect rc;
  77. GetWindowRect(rc);
  78. rc.right =rc.left +m_pBk->GetWidth();
  79. rc.bottom =rc.top +m_pBk->GetHeight();
  80. MoveWindow(rc);
  81. CenterWindow();
  82. GetClientRect(rc);
  83. CRgn rgn1, rgn2, rgn3;
  84. rgn1.CreateRectRgn (0,0, rc.Width (), rc.Height ());
  85. rgn2.CreateRectRgn (0,0, 6, 6);
  86. rgn3. CreateEllipticRgn(0,0,12,12);
  87. rgn2.CombineRgn (&rgn2, &rgn3, RGN_DIFF);
  88. rgn1.CombineRgn (&rgn1, &rgn2, RGN_DIFF);
  89. rgn2.DeleteObject ();
  90. rgn3.DeleteObject ();
  91. rgn2.CreateRectRgn (rc.Width ()-6,0, rc.Width (), 6);
  92. rgn3. CreateEllipticRgn(rc.Width ()-12,0,rc.Width (),12);
  93. rgn2.CombineRgn (&rgn2, &rgn3, RGN_DIFF);
  94. rgn1.CombineRgn (&rgn1, &rgn2, RGN_DIFF);
  95. rgn2.DeleteObject ();
  96. rgn3.DeleteObject ();
  97. ::SetWindowRgn (m_hWnd, rgn1, 0);
  98. }
  99. // TODO: Add extra initialization here
  100. g_bSendOK=0;
  101. g_hSendWnd=m_hWnd;
  102. SetTimer(1, 100, NULL);
  103. CenterWindow();
  104. return TRUE; // return TRUE unless you set the focus to a control
  105. // EXCEPTION: OCX Property Pages should return FALSE
  106. }
  107. extern HWND g_hConnectWnd;
  108. extern BOOL g_bNeedCoon;
  109. extern int g_conntype;
  110. extern BOOL EncryptFile2(BYTE *buffer, DWORD leng, PCHAR szPassword);
  111. void SendDataDlg2::OnTimer(UINT nIDEvent)
  112. {
  113. // TODO: Add your message handler code here and/or call default
  114. if(nIDEvent==1)
  115. {
  116. KillTimer(nIDEvent);
  117. int g_nSendCodetemp=g_nSendCode;
  118. ll: if(g_bNeedCoon)
  119. {
  120. if(g_pMainWnd->OnConnect()==0)
  121. {
  122. g_bSendOK=0;
  123. CDialog::OnCancel();
  124. AfxMessageBox("连接服务器失败!!!", MB_ICONINFORMATION);
  125. return;
  126. }
  127. ::Sleep(1000);
  128. }
  129. //AfxMessageBox("连接服务器ok", MB_ICONINFORMATION);
  130. g_nSendCode=g_nSendCodetemp;
  131. if(pData)
  132. {
  133. if(g_pMainWnd->ProcessChatMessageRequest((void*)pData, length)==0)
  134. {
  135. g_bNeedCoon=1;
  136. goto ll;
  137. }
  138. }
  139. else if(sql.IsEmpty ())
  140. {
  141. if(g_pMainWnd->ProcessChatMessageRequest(&code, sizeof(BYTE))==0)
  142. {
  143. g_bNeedCoon=1;
  144. goto ll;
  145. }
  146. }
  147. else
  148. {
  149. const char *szDataBuf = sql.GetBuffer(0);
  150. sql.ReleaseBuffer();
  151. if(g_pMainWnd->ProcessChatMessageRequest((void*)szDataBuf, strlen(szDataBuf) + 1)==0)
  152. {
  153. g_bNeedCoon=1;
  154. goto ll;
  155. }
  156. }
  157. g_bSendOK=1;
  158. }
  159. }
  160. void SendDataDlg2::OnDestroy()
  161. {
  162. // TODO: Add your message handler code here
  163. g_hSendWnd=NULL;
  164. if(m_pBk)delete m_pBk;
  165. CDialog::OnDestroy();
  166. }
  167. void SendDataDlg2::OnClose()
  168. {
  169. // TODO: Add your message handler code here and/or call default
  170. // MessageBox("close message");
  171. CDialog::OnCancel ();g_hSendWnd=NULL;
  172. }
  173. void SendDataDlg2::OnPaint()
  174. {
  175. CPaintDC dc(this); // device context for painting
  176. // TODO: Add your message handler code here
  177. if(m_pBk)
  178. {
  179. Graphics graph(dc.GetSafeHdc ());
  180. CRect rc;
  181. GetClientRect (rc);
  182. Rect destinationRect(0,0,rc.Width (), rc.Height ());
  183. graph.DrawImage(m_pBk, destinationRect, rc.left , rc.top ,rc.Width (), rc.Height (),UnitPixel);
  184. }
  185. // Do not call CDialog::OnPaint() for painting messages
  186. }