RemoteATMInfo.cpp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562
  1. // RemoteATMInfo.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "newclient.h"
  5. #include "RemoteATMInfo.h"
  6. #include "RemoteParamsCfg.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CRemoteATMInfo dialog
  14. extern CRemoteParamsCfg *m_pRemoteParam;
  15. CRemoteATMInfo::CRemoteATMInfo(CWnd* pParent /*=NULL*/)
  16. : CDialog(CRemoteATMInfo::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(CRemoteATMInfo)
  19. m_csBusinessCode = _T("");
  20. m_dwBusinessStart = 0;
  21. m_dwBusinessLen = 0;
  22. m_dwCardNumInfoLen = 0;
  23. m_dwCardNumInfoStart = 0;
  24. m_dwCardLenInfoLen = 0;
  25. m_dwCardLenInfoStart = 0;
  26. m_sATMIP = _T("");
  27. m_sMessageInfo = _T("");
  28. m_dwMessageLen = 0;
  29. m_dwMessageStart = 0;
  30. m_wATMPort = 0;
  31. m_csBusinessCode5 = _T("");
  32. m_ATMPort = 0;
  33. //}}AFX_DATA_INIT
  34. }
  35. void CRemoteATMInfo::DoDataExchange(CDataExchange* pDX)
  36. {
  37. CDialog::DoDataExchange(pDX);
  38. //{{AFX_DATA_MAP(CRemoteATMInfo)
  39. DDX_Control(pDX, IDC_COMBOTYPE5, m_Type5Ctrl);
  40. DDX_Control(pDX, IDC_COMBOATMTYPE2, m_ATMTypeCtrl2);
  41. DDX_Control(pDX, IDC_COMBOTYPE, m_TypeCtrl);
  42. DDX_Control(pDX, IDC_COMBOINPUTTYPE, m_InputTypeCtrl);
  43. DDX_Control(pDX, IDC_COMBOATMTYPE, m_ATMTypeCtrl);
  44. DDX_Text(pDX, IDC_BUSINESSCODE, m_csBusinessCode);
  45. DDX_Text(pDX, IDC_BUSINESSSTART, m_dwBusinessStart);
  46. DDX_Text(pDX, IDC_BUSINESSLEN, m_dwBusinessLen);
  47. DDX_Text(pDX, IDC_CARDNUMINFOLEN, m_dwCardNumInfoLen);
  48. DDX_Text(pDX, IDC_CARDNUMINFOSTART, m_dwCardNumInfoStart);
  49. DDX_Text(pDX, IDC_CARDNUMLENINFOLEN, m_dwCardLenInfoLen);
  50. DDX_Text(pDX, IDC_CARDNUMLENINFOSTART, m_dwCardLenInfoStart);
  51. DDX_Text(pDX, IDC_EDITATMIP, m_sATMIP);
  52. DDX_Text(pDX, IDC_MESSAGEINFO, m_sMessageInfo);
  53. DDX_Text(pDX, IDC_MESSAGELEN, m_dwMessageLen);
  54. DDX_Text(pDX, IDC_MESSAGESTART, m_dwMessageStart);
  55. DDX_Text(pDX, IDC_EDITATMPORT, m_wATMPort);
  56. DDX_Text(pDX, IDC_BUSINESSCODE5, m_csBusinessCode5);
  57. //}}AFX_DATA_MAP
  58. }
  59. BEGIN_MESSAGE_MAP(CRemoteATMInfo, CDialog)
  60. //{{AFX_MSG_MAP(CRemoteATMInfo)
  61. ON_CBN_SELCHANGE(IDC_COMBOINPUTTYPE, OnSelchangeComboinputtype)
  62. ON_CBN_SELCHANGE(IDC_COMBOTYPE, OnSelchangeCombotype)
  63. ON_BN_CLICKED(IDATMOK, OnAtmok)
  64. ON_BN_CLICKED(ID_EXIT, OnExit)
  65. ON_CBN_SELCHANGE(IDC_COMBOTYPE5, OnSelchangeCombotype5)
  66. //}}AFX_MSG_MAP
  67. END_MESSAGE_MAP()
  68. /////////////////////////////////////////////////////////////////////////////
  69. // CRemoteATMInfo message handlers
  70. BOOL CRemoteATMInfo::CheckPara()
  71. {
  72. m_bSetPara = FALSE;
  73. m_nInputMode = -1;
  74. m_nTypeSel = 0;
  75. if(m_bConnectServer)
  76. {
  77. if (!NET_DVR_GetATMPortCFG(m_lServerID, &m_ATMPort))
  78. {
  79. m_bNewPort = FALSE;
  80. CString sTemp;
  81. sTemp.Format("获取ATM端口失败: NET_DVR_GetLastError = %d \n", NET_DVR_GetLastError());
  82. TRACE(sTemp);
  83. }
  84. else
  85. {
  86. m_bNewPort = TRUE;
  87. }
  88. if(NET_DVR_ClientGetframeformat(m_lServerID, &m_ATMInfo))
  89. {
  90. if (m_bNewPort)
  91. {
  92. m_InputTypeCtrl.SetCurSel(m_ATMInfo.dwInputMode);
  93. m_ATMTypeCtrl2.SetCurSel(m_ATMInfo.dwATMType);
  94. m_sATMIP.Format("%s", m_ATMInfo.sATMIP);
  95. m_ATMTypeCtrl.SetCurSel(m_ATMInfo.dwATMType);
  96. m_TypeCtrl.SetCurSel(m_nTypeSel);
  97. m_csBusinessCode.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
  98. switch (m_ATMInfo.dwInputMode)
  99. {
  100. case 0:
  101. m_nInputMode = 0;
  102. m_sATMIP.Format("%s", m_ATMInfo.sATMIP);
  103. m_ATMTypeCtrl.SetCurSel(m_ATMInfo.dwATMType);
  104. m_dwMessageStart = m_ATMInfo.dwFrameSignBeginPos;
  105. m_dwMessageLen = m_ATMInfo.dwFrameSignLength;
  106. m_sMessageInfo.Format("%s", m_ATMInfo.byFrameSignContent);
  107. m_dwCardLenInfoStart = m_ATMInfo.dwCardLengthInfoBeginPos;
  108. m_dwCardLenInfoLen = m_ATMInfo.dwCardLengthInfoLength;
  109. m_dwCardNumInfoStart = m_ATMInfo.dwCardNumberInfoBeginPos;
  110. m_dwCardNumInfoLen = m_ATMInfo.dwCardNumberInfoLength;
  111. m_dwBusinessStart = m_ATMInfo.dwBusinessTypeBeginPos;
  112. m_dwBusinessLen = m_ATMInfo.dwBusinessTypeLength;
  113. m_TypeCtrl.SetCurSel(m_nTypeSel);
  114. m_csBusinessCode.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
  115. break;
  116. case 1:
  117. m_wATMPort = m_ATMPort;
  118. m_nInputMode = 1;
  119. break;
  120. case 2:
  121. m_nInputMode = 2;
  122. break;
  123. case 3:
  124. m_nInputMode = 3;
  125. break;
  126. default:
  127. break;
  128. }
  129. }
  130. else
  131. {
  132. m_InputTypeCtrl.SetCurSel(m_ATMInfo.dwInputMode);
  133. m_sATMIP.Format("%s", m_ATMInfo.sATMIP);
  134. m_ATMTypeCtrl.SetCurSel(m_ATMInfo.dwATMType);
  135. m_Type5Ctrl.SetCurSel(m_nTypeSel);
  136. m_csBusinessCode5.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
  137. switch (m_ATMInfo.dwInputMode)
  138. {
  139. case 0:
  140. m_nInputMode = 0;
  141. m_dwMessageStart = m_ATMInfo.dwFrameSignBeginPos;
  142. m_dwMessageLen = m_ATMInfo.dwFrameSignLength;
  143. m_sMessageInfo.Format("%s", m_ATMInfo.byFrameSignContent);
  144. m_dwCardLenInfoStart = m_ATMInfo.dwCardLengthInfoBeginPos;
  145. m_dwCardLenInfoLen = m_ATMInfo.dwCardLengthInfoLength;
  146. m_dwCardNumInfoStart = m_ATMInfo.dwCardNumberInfoBeginPos;
  147. m_dwCardNumInfoLen = m_ATMInfo.dwCardNumberInfoLength;
  148. m_dwBusinessStart = m_ATMInfo.dwBusinessTypeBeginPos;
  149. m_dwBusinessLen = m_ATMInfo.dwBusinessTypeLength;
  150. m_TypeCtrl.SetCurSel(m_nTypeSel);
  151. m_csBusinessCode.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
  152. break;
  153. case 1:
  154. case 2:
  155. case 3:
  156. m_nInputMode = 1;
  157. m_Type5Ctrl.SetCurSel(m_nTypeSel);
  158. m_csBusinessCode5.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
  159. break;
  160. default:
  161. break;
  162. }
  163. }
  164. EnableControl(m_nInputMode, m_bNewPort);
  165. }
  166. else
  167. {
  168. AfxMessageBox("获取交易信息失败!");
  169. }
  170. }
  171. UpdateData(FALSE);
  172. return TRUE;
  173. }
  174. BOOL CRemoteATMInfo::OnInitDialog()
  175. {
  176. CDialog::OnInitDialog();
  177. // TODO: Add extra initialization here
  178. CRect rc(0, 0, 0, 0);
  179. GetParent()->GetClientRect(&rc);
  180. ((CTabCtrl*)GetParent())->AdjustRect(FALSE, &rc);
  181. MoveWindow(&rc);
  182. if(m_pRemoteParam->m_dvrSelect != -1)
  183. CheckPara();
  184. return TRUE; // return TRUE unless you set the focus to a control
  185. // EXCEPTION: OCX Property Pages should return FALSE
  186. }
  187. void CRemoteATMInfo::OnSelchangeComboinputtype()
  188. {
  189. if(m_pRemoteParam->m_dvrSelect == -1)
  190. return;
  191. // TODO: Add your control notification handler code here
  192. UpdateData(TRUE);
  193. switch (m_InputTypeCtrl.GetCurSel())
  194. {
  195. case 0:
  196. m_nInputMode = 0;
  197. break;
  198. case 1:
  199. m_nInputMode = 1;
  200. break;
  201. case 2:
  202. m_nInputMode = 2;
  203. break;
  204. case 3:
  205. m_nInputMode = 3;
  206. break;
  207. default:
  208. break;
  209. }
  210. EnableControl(m_nInputMode, m_bNewPort);
  211. }
  212. void CRemoteATMInfo::OnSelchangeCombotype()
  213. {
  214. if(m_pRemoteParam->m_dvrSelect == -1)
  215. return;
  216. // TODO: Add your control notification handler code here
  217. UpdateData(TRUE);
  218. memcpy(m_ATMInfo.frameTypeCode[m_nTypeSel].code,m_csBusinessCode,12);
  219. m_nTypeSel = m_TypeCtrl.GetCurSel();
  220. m_csBusinessCode.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
  221. UpdateData(FALSE);
  222. }
  223. void CRemoteATMInfo::EnableControl(int nEnable, BOOL bNewPort)
  224. {
  225. if (bNewPort)
  226. {
  227. GetDlgItem(IDC_COMBOTYPE5)->ShowWindow(SW_HIDE);
  228. GetDlgItem(IDC_BUSINESSCODE5)->ShowWindow(SW_HIDE);
  229. if(nEnable == 0)
  230. {
  231. GetDlgItem(IDC_EDITATMIP)->ShowWindow(SW_SHOW);
  232. GetDlgItem(IDC_EDITATMPORT)->ShowWindow(SW_HIDE);
  233. GetDlgItem(IDC_COMBOATMTYPE2)->ShowWindow(SW_HIDE);
  234. GetDlgItem(IDC_COMBOATMTYPE)->ShowWindow(SW_SHOW);
  235. GetDlgItem(IDC_STATIC99)->ShowWindow(SW_SHOW);
  236. GetDlgItem(IDC_STATIC100)->ShowWindow(SW_SHOW);
  237. GetDlgItem(IDC_STATIC100)->SetWindowText("ATM IP地址");
  238. GetDlgItem(IDC_STATIC1)->SetWindowText("报文标志位");
  239. GetDlgItem(IDC_STATIC11)->SetWindowText("起始位置");
  240. GetDlgItem(IDC_STATIC12)->SetWindowText("长度");
  241. GetDlgItem(IDC_STATIC1)->ShowWindow(SW_SHOW);
  242. GetDlgItem(IDC_STATIC11)->ShowWindow(SW_SHOW);
  243. GetDlgItem(IDC_STATIC12)->ShowWindow(SW_SHOW);
  244. GetDlgItem(IDC_MESSAGELEN)->ShowWindow(SW_SHOW);
  245. GetDlgItem(IDC_MESSAGESTART)->ShowWindow(SW_SHOW);
  246. GetDlgItem(IDC_STATIC13)->ShowWindow(SW_SHOW);
  247. GetDlgItem(IDC_MESSAGEINFO)->ShowWindow(SW_SHOW);
  248. GetDlgItem(IDC_STATIC2)->ShowWindow(SW_SHOW);
  249. GetDlgItem(IDC_STATIC21)->ShowWindow(SW_SHOW);
  250. GetDlgItem(IDC_STATIC22)->ShowWindow(SW_SHOW);
  251. GetDlgItem(IDC_STATIC3)->ShowWindow(SW_SHOW);
  252. GetDlgItem(IDC_STATIC31)->ShowWindow(SW_SHOW);
  253. GetDlgItem(IDC_STATIC32)->ShowWindow(SW_SHOW);
  254. GetDlgItem(IDC_STATIC4)->ShowWindow(SW_SHOW);
  255. GetDlgItem(IDC_STATIC41)->ShowWindow(SW_SHOW);
  256. GetDlgItem(IDC_STATIC42)->ShowWindow(SW_SHOW);
  257. GetDlgItem(IDC_STATIC43)->ShowWindow(SW_SHOW);
  258. GetDlgItem(IDC_STATIC44)->ShowWindow(SW_SHOW);
  259. GetDlgItem(IDC_CARDNUMLENINFOSTART)->ShowWindow(SW_SHOW);
  260. GetDlgItem(IDC_CARDNUMLENINFOLEN)->ShowWindow(SW_SHOW);
  261. GetDlgItem(IDC_CARDNUMINFOSTART)->ShowWindow(SW_SHOW);
  262. GetDlgItem(IDC_CARDNUMINFOLEN)->ShowWindow(SW_SHOW);
  263. GetDlgItem(IDC_BUSINESSSTART)->ShowWindow(SW_SHOW);
  264. GetDlgItem(IDC_BUSINESSLEN)->ShowWindow(SW_SHOW);
  265. GetDlgItem(IDC_COMBOTYPE)->ShowWindow(SW_SHOW);
  266. GetDlgItem(IDC_BUSINESSCODE)->ShowWindow(SW_SHOW);
  267. }
  268. else if (nEnable == 1)
  269. {
  270. GetDlgItem(IDC_EDITATMIP)->ShowWindow(SW_HIDE);
  271. GetDlgItem(IDC_EDITATMPORT)->ShowWindow(SW_SHOW);
  272. GetDlgItem(IDC_COMBOATMTYPE2)->ShowWindow(SW_HIDE);
  273. GetDlgItem(IDC_COMBOATMTYPE)->ShowWindow(SW_HIDE);
  274. GetDlgItem(IDC_STATIC99)->ShowWindow(SW_HIDE);
  275. GetDlgItem(IDC_STATIC100)->ShowWindow(SW_SHOW);
  276. GetDlgItem(IDC_STATIC100)->SetWindowText("本地端口");
  277. GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
  278. GetDlgItem(IDC_STATIC11)->ShowWindow(SW_HIDE);
  279. GetDlgItem(IDC_STATIC12)->ShowWindow(SW_HIDE);
  280. GetDlgItem(IDC_MESSAGELEN)->ShowWindow(SW_HIDE);
  281. GetDlgItem(IDC_MESSAGESTART)->ShowWindow(SW_HIDE);
  282. GetDlgItem(IDC_STATIC13)->ShowWindow(SW_HIDE);
  283. GetDlgItem(IDC_MESSAGEINFO)->ShowWindow(SW_HIDE);
  284. GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
  285. GetDlgItem(IDC_STATIC21)->ShowWindow(SW_HIDE);
  286. GetDlgItem(IDC_STATIC22)->ShowWindow(SW_HIDE);
  287. GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
  288. GetDlgItem(IDC_STATIC31)->ShowWindow(SW_HIDE);
  289. GetDlgItem(IDC_STATIC32)->ShowWindow(SW_HIDE);
  290. GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
  291. GetDlgItem(IDC_STATIC41)->ShowWindow(SW_HIDE);
  292. GetDlgItem(IDC_STATIC42)->ShowWindow(SW_HIDE);
  293. GetDlgItem(IDC_STATIC43)->ShowWindow(SW_HIDE);
  294. GetDlgItem(IDC_STATIC44)->ShowWindow(SW_HIDE);
  295. GetDlgItem(IDC_CARDNUMLENINFOSTART)->ShowWindow(SW_HIDE);
  296. GetDlgItem(IDC_CARDNUMLENINFOLEN)->ShowWindow(SW_HIDE);
  297. GetDlgItem(IDC_CARDNUMINFOSTART)->ShowWindow(SW_HIDE);
  298. GetDlgItem(IDC_CARDNUMINFOLEN)->ShowWindow(SW_HIDE);
  299. GetDlgItem(IDC_BUSINESSSTART)->ShowWindow(SW_HIDE);
  300. GetDlgItem(IDC_BUSINESSLEN)->ShowWindow(SW_HIDE);
  301. GetDlgItem(IDC_COMBOTYPE)->ShowWindow(SW_HIDE);
  302. GetDlgItem(IDC_BUSINESSCODE)->ShowWindow(SW_HIDE);
  303. }
  304. else if (nEnable == 2)
  305. {
  306. GetDlgItem(IDC_EDITATMIP)->ShowWindow(SW_HIDE);
  307. GetDlgItem(IDC_EDITATMPORT)->ShowWindow(SW_HIDE);
  308. GetDlgItem(IDC_COMBOATMTYPE2)->ShowWindow(SW_SHOW);
  309. GetDlgItem(IDC_COMBOATMTYPE)->ShowWindow(SW_HIDE);
  310. GetDlgItem(IDC_STATIC99)->ShowWindow(SW_HIDE);
  311. GetDlgItem(IDC_STATIC100)->ShowWindow(SW_SHOW);
  312. GetDlgItem(IDC_STATIC100)->SetWindowText("ATM类型");
  313. GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
  314. GetDlgItem(IDC_STATIC11)->ShowWindow(SW_HIDE);
  315. GetDlgItem(IDC_STATIC12)->ShowWindow(SW_HIDE);
  316. GetDlgItem(IDC_MESSAGELEN)->ShowWindow(SW_HIDE);
  317. GetDlgItem(IDC_MESSAGESTART)->ShowWindow(SW_HIDE);
  318. GetDlgItem(IDC_STATIC13)->ShowWindow(SW_HIDE);
  319. GetDlgItem(IDC_MESSAGEINFO)->ShowWindow(SW_HIDE);
  320. GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
  321. GetDlgItem(IDC_STATIC21)->ShowWindow(SW_HIDE);
  322. GetDlgItem(IDC_STATIC22)->ShowWindow(SW_HIDE);
  323. GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
  324. GetDlgItem(IDC_STATIC31)->ShowWindow(SW_HIDE);
  325. GetDlgItem(IDC_STATIC32)->ShowWindow(SW_HIDE);
  326. GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
  327. GetDlgItem(IDC_STATIC41)->ShowWindow(SW_HIDE);
  328. GetDlgItem(IDC_STATIC42)->ShowWindow(SW_HIDE);
  329. GetDlgItem(IDC_STATIC43)->ShowWindow(SW_HIDE);
  330. GetDlgItem(IDC_STATIC44)->ShowWindow(SW_HIDE);
  331. GetDlgItem(IDC_CARDNUMLENINFOSTART)->ShowWindow(SW_HIDE);
  332. GetDlgItem(IDC_CARDNUMLENINFOLEN)->ShowWindow(SW_HIDE);
  333. GetDlgItem(IDC_CARDNUMINFOSTART)->ShowWindow(SW_HIDE);
  334. GetDlgItem(IDC_CARDNUMINFOLEN)->ShowWindow(SW_HIDE);
  335. GetDlgItem(IDC_BUSINESSSTART)->ShowWindow(SW_HIDE);
  336. GetDlgItem(IDC_BUSINESSLEN)->ShowWindow(SW_HIDE);
  337. GetDlgItem(IDC_COMBOTYPE)->ShowWindow(SW_HIDE);
  338. GetDlgItem(IDC_BUSINESSCODE)->ShowWindow(SW_HIDE);
  339. }
  340. else if (nEnable == 3)
  341. {
  342. GetDlgItem(IDC_EDITATMIP)->ShowWindow(SW_HIDE);
  343. GetDlgItem(IDC_EDITATMPORT)->ShowWindow(SW_HIDE);
  344. GetDlgItem(IDC_COMBOATMTYPE2)->ShowWindow(SW_HIDE);
  345. GetDlgItem(IDC_COMBOATMTYPE)->ShowWindow(SW_HIDE);
  346. GetDlgItem(IDC_STATIC99)->ShowWindow(SW_HIDE);
  347. GetDlgItem(IDC_STATIC100)->ShowWindow(SW_HIDE);
  348. GetDlgItem(IDC_STATIC1)->ShowWindow(SW_HIDE);
  349. GetDlgItem(IDC_STATIC11)->ShowWindow(SW_HIDE);
  350. GetDlgItem(IDC_STATIC12)->ShowWindow(SW_HIDE);
  351. GetDlgItem(IDC_MESSAGELEN)->ShowWindow(SW_HIDE);
  352. GetDlgItem(IDC_MESSAGESTART)->ShowWindow(SW_HIDE);
  353. GetDlgItem(IDC_STATIC13)->ShowWindow(SW_HIDE);
  354. GetDlgItem(IDC_MESSAGEINFO)->ShowWindow(SW_HIDE);
  355. GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
  356. GetDlgItem(IDC_STATIC21)->ShowWindow(SW_HIDE);
  357. GetDlgItem(IDC_STATIC22)->ShowWindow(SW_HIDE);
  358. GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
  359. GetDlgItem(IDC_STATIC31)->ShowWindow(SW_HIDE);
  360. GetDlgItem(IDC_STATIC32)->ShowWindow(SW_HIDE);
  361. GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
  362. GetDlgItem(IDC_STATIC41)->ShowWindow(SW_HIDE);
  363. GetDlgItem(IDC_STATIC42)->ShowWindow(SW_HIDE);
  364. GetDlgItem(IDC_STATIC43)->ShowWindow(SW_HIDE);
  365. GetDlgItem(IDC_STATIC44)->ShowWindow(SW_HIDE);
  366. GetDlgItem(IDC_CARDNUMLENINFOSTART)->ShowWindow(SW_HIDE);
  367. GetDlgItem(IDC_CARDNUMLENINFOLEN)->ShowWindow(SW_HIDE);
  368. GetDlgItem(IDC_CARDNUMINFOSTART)->ShowWindow(SW_HIDE);
  369. GetDlgItem(IDC_CARDNUMINFOLEN)->ShowWindow(SW_HIDE);
  370. GetDlgItem(IDC_BUSINESSSTART)->ShowWindow(SW_HIDE);
  371. GetDlgItem(IDC_BUSINESSLEN)->ShowWindow(SW_HIDE);
  372. GetDlgItem(IDC_COMBOTYPE)->ShowWindow(SW_HIDE);
  373. GetDlgItem(IDC_BUSINESSCODE)->ShowWindow(SW_HIDE);
  374. }
  375. }
  376. else
  377. {
  378. GetDlgItem(IDC_EDITATMPORT)->ShowWindow(SW_HIDE);
  379. GetDlgItem(IDC_COMBOATMTYPE2)->ShowWindow(SW_HIDE);
  380. if(nEnable == 0)
  381. {
  382. GetDlgItem(IDC_STATIC1)->SetWindowText("报文标志位");
  383. GetDlgItem(IDC_STATIC11)->SetWindowText("起始位置");
  384. GetDlgItem(IDC_STATIC12)->SetWindowText("长度");
  385. GetDlgItem(IDC_COMBOTYPE5)->ShowWindow(SW_HIDE);
  386. GetDlgItem(IDC_BUSINESSCODE5)->ShowWindow(SW_HIDE);
  387. GetDlgItem(IDC_MESSAGELEN)->ShowWindow(SW_SHOW);
  388. GetDlgItem(IDC_MESSAGESTART)->ShowWindow(SW_SHOW);
  389. GetDlgItem(IDC_STATIC13)->ShowWindow(SW_SHOW);
  390. GetDlgItem(IDC_MESSAGEINFO)->ShowWindow(SW_SHOW);
  391. GetDlgItem(IDC_STATIC2)->ShowWindow(SW_SHOW);
  392. GetDlgItem(IDC_STATIC21)->ShowWindow(SW_SHOW);
  393. GetDlgItem(IDC_STATIC22)->ShowWindow(SW_SHOW);
  394. GetDlgItem(IDC_STATIC3)->ShowWindow(SW_SHOW);
  395. GetDlgItem(IDC_STATIC31)->ShowWindow(SW_SHOW);
  396. GetDlgItem(IDC_STATIC32)->ShowWindow(SW_SHOW);
  397. GetDlgItem(IDC_STATIC4)->ShowWindow(SW_SHOW);
  398. GetDlgItem(IDC_STATIC41)->ShowWindow(SW_SHOW);
  399. GetDlgItem(IDC_STATIC42)->ShowWindow(SW_SHOW);
  400. GetDlgItem(IDC_STATIC43)->ShowWindow(SW_SHOW);
  401. GetDlgItem(IDC_STATIC44)->ShowWindow(SW_SHOW);
  402. GetDlgItem(IDC_CARDNUMLENINFOSTART)->ShowWindow(SW_SHOW);
  403. GetDlgItem(IDC_CARDNUMLENINFOLEN)->ShowWindow(SW_SHOW);
  404. GetDlgItem(IDC_CARDNUMINFOSTART)->ShowWindow(SW_SHOW);
  405. GetDlgItem(IDC_CARDNUMINFOLEN)->ShowWindow(SW_SHOW);
  406. GetDlgItem(IDC_BUSINESSSTART)->ShowWindow(SW_SHOW);
  407. GetDlgItem(IDC_BUSINESSLEN)->ShowWindow(SW_SHOW);
  408. GetDlgItem(IDC_COMBOTYPE)->ShowWindow(SW_SHOW);
  409. GetDlgItem(IDC_BUSINESSCODE)->ShowWindow(SW_SHOW);
  410. }
  411. else
  412. {
  413. GetDlgItem(IDC_STATIC1)->SetWindowText("交易类型");
  414. GetDlgItem(IDC_STATIC11)->SetWindowText("类型");
  415. GetDlgItem(IDC_STATIC12)->SetWindowText("代码");
  416. GetDlgItem(IDC_COMBOTYPE5)->ShowWindow(SW_SHOW);
  417. GetDlgItem(IDC_BUSINESSCODE5)->ShowWindow(SW_SHOW);
  418. GetDlgItem(IDC_MESSAGELEN)->ShowWindow(SW_HIDE);
  419. GetDlgItem(IDC_MESSAGESTART)->ShowWindow(SW_HIDE);
  420. GetDlgItem(IDC_STATIC13)->ShowWindow(SW_HIDE);
  421. GetDlgItem(IDC_MESSAGEINFO)->ShowWindow(SW_HIDE);
  422. GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
  423. GetDlgItem(IDC_STATIC21)->ShowWindow(SW_HIDE);
  424. GetDlgItem(IDC_STATIC22)->ShowWindow(SW_HIDE);
  425. GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
  426. GetDlgItem(IDC_STATIC31)->ShowWindow(SW_HIDE);
  427. GetDlgItem(IDC_STATIC32)->ShowWindow(SW_HIDE);
  428. GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
  429. GetDlgItem(IDC_STATIC41)->ShowWindow(SW_HIDE);
  430. GetDlgItem(IDC_STATIC42)->ShowWindow(SW_HIDE);
  431. GetDlgItem(IDC_STATIC43)->ShowWindow(SW_HIDE);
  432. GetDlgItem(IDC_STATIC44)->ShowWindow(SW_HIDE);
  433. GetDlgItem(IDC_CARDNUMLENINFOSTART)->ShowWindow(SW_HIDE);
  434. GetDlgItem(IDC_CARDNUMLENINFOLEN)->ShowWindow(SW_HIDE);
  435. GetDlgItem(IDC_CARDNUMINFOSTART)->ShowWindow(SW_HIDE);
  436. GetDlgItem(IDC_CARDNUMINFOLEN)->ShowWindow(SW_HIDE);
  437. GetDlgItem(IDC_BUSINESSSTART)->ShowWindow(SW_HIDE);
  438. GetDlgItem(IDC_BUSINESSLEN)->ShowWindow(SW_HIDE);
  439. GetDlgItem(IDC_COMBOTYPE)->ShowWindow(SW_HIDE);
  440. GetDlgItem(IDC_BUSINESSCODE)->ShowWindow(SW_HIDE);
  441. }
  442. }
  443. }
  444. void CRemoteATMInfo::OnAtmok()
  445. {
  446. if(m_pRemoteParam->m_dvrSelect == -1)
  447. return;
  448. // TODO: Add your control notification handler code here
  449. UpdateData(TRUE);
  450. if (m_bNewPort)
  451. {
  452. m_ATMInfo.dwInputMode = m_InputTypeCtrl.GetCurSel();
  453. switch (m_ATMInfo.dwInputMode)
  454. {
  455. case 0:
  456. memcpy(m_ATMInfo.sATMIP,m_sATMIP,16);
  457. m_ATMInfo.dwATMType = m_ATMTypeCtrl.GetCurSel();
  458. m_ATMInfo.dwFrameSignBeginPos = m_dwMessageStart;
  459. m_ATMInfo.dwFrameSignLength = m_dwMessageLen;
  460. memcpy(m_ATMInfo.byFrameSignContent,m_sMessageInfo,12);
  461. m_ATMInfo.dwCardLengthInfoBeginPos = m_dwCardLenInfoStart;
  462. m_ATMInfo.dwCardLengthInfoLength = m_dwCardLenInfoLen;
  463. m_ATMInfo.dwCardNumberInfoBeginPos = m_dwCardNumInfoStart;
  464. m_ATMInfo.dwCardNumberInfoLength = m_dwCardNumInfoLen;
  465. m_ATMInfo.dwBusinessTypeBeginPos = m_dwBusinessStart;
  466. m_ATMInfo.dwBusinessTypeLength = m_dwBusinessLen;
  467. memcpy(m_ATMInfo.frameTypeCode[m_nTypeSel].code,m_csBusinessCode,12);
  468. break;
  469. case 1:
  470. m_ATMPort = (WORD)m_wATMPort;
  471. break;
  472. case 2:
  473. m_ATMInfo.dwATMType = m_ATMTypeCtrl2.GetCurSel();
  474. break;
  475. case 3:
  476. break;
  477. default:
  478. break;
  479. }
  480. }
  481. else
  482. {
  483. m_ATMInfo.dwInputMode = m_InputTypeCtrl.GetCurSel();
  484. memcpy(m_ATMInfo.sATMIP,m_sATMIP,16);
  485. m_ATMInfo.dwATMType = m_ATMTypeCtrl.GetCurSel();
  486. if(m_ATMInfo.dwInputMode == 0)
  487. {
  488. m_ATMInfo.dwFrameSignBeginPos = m_dwMessageStart;
  489. m_ATMInfo.dwFrameSignLength = m_dwMessageLen;
  490. memcpy(m_ATMInfo.byFrameSignContent,m_sMessageInfo,12);
  491. m_ATMInfo.dwCardLengthInfoBeginPos = m_dwCardLenInfoStart;
  492. m_ATMInfo.dwCardLengthInfoLength = m_dwCardLenInfoLen;
  493. m_ATMInfo.dwCardNumberInfoBeginPos = m_dwCardNumInfoStart;
  494. m_ATMInfo.dwCardNumberInfoLength = m_dwCardNumInfoLen;
  495. m_ATMInfo.dwBusinessTypeBeginPos = m_dwBusinessStart;
  496. m_ATMInfo.dwBusinessTypeLength = m_dwBusinessLen;
  497. memcpy(m_ATMInfo.frameTypeCode[m_nTypeSel].code,m_csBusinessCode,12);
  498. }
  499. else
  500. {
  501. memcpy(m_ATMInfo.frameTypeCode[m_nTypeSel].code,m_csBusinessCode5,12);
  502. }
  503. }
  504. m_bSetPara = TRUE;
  505. }
  506. void CRemoteATMInfo::OnExit()
  507. {
  508. // TODO: Add your control notification handler code here
  509. m_bSetPara = FALSE;
  510. }
  511. void CRemoteATMInfo::OnCancel()
  512. {
  513. // TODO: Add extra cleanup here
  514. //CDialog::OnCancel();
  515. }
  516. void CRemoteATMInfo::OnSelchangeCombotype5()
  517. {
  518. if(m_pRemoteParam->m_dvrSelect == -1)
  519. return;
  520. // TODO: Add your control notification handler code here
  521. UpdateData(TRUE);
  522. memcpy(m_ATMInfo.frameTypeCode[m_nTypeSel].code,m_csBusinessCode5,12);
  523. m_nTypeSel = m_Type5Ctrl.GetCurSel();
  524. m_csBusinessCode5.Format("%s", m_ATMInfo.frameTypeCode[m_nTypeSel].code);
  525. UpdateData(FALSE);
  526. }