RemoteUserCFG.cpp 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897
  1. // RemoteUserCFG.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "StoneU_HC_OCX.h"
  5. #include "RemoteUserCFG.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. // CRemoteUserCFG dialog
  14. extern CRemoteParamsCfg *m_pRemoteParam;
  15. CRemoteUserCFG::CRemoteUserCFG(CWnd* pParent /*=NULL*/)
  16. : CDialog(CRemoteUserCFG::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(CRemoteUserCFG)
  19. m_Right1 = FALSE;
  20. m_Right2 = FALSE;
  21. m_Right21 = FALSE;
  22. m_Right22 = FALSE;
  23. m_Right23 = FALSE;
  24. m_Right24 = FALSE;
  25. m_Right25 = FALSE;
  26. m_Right26 = FALSE;
  27. m_Right27 = FALSE;
  28. m_Right28 = FALSE;
  29. m_Right29 = FALSE;
  30. m_Right3 = FALSE;
  31. m_Right30 = FALSE;
  32. m_Right31 = FALSE;
  33. m_Right4 = FALSE;
  34. m_Right5 = FALSE;
  35. m_Right6 = FALSE;
  36. m_UserIP = _T("");
  37. m_UserName = _T("");
  38. m_UserPSW = _T("");
  39. m_UserVerifyPSW = _T("");
  40. m_UserMACAddr1 = _T("");
  41. m_UserMACAddr2 = _T("");
  42. m_UserMACAddr3 = _T("");
  43. m_UserMACAddr4 = _T("");
  44. m_UserMACAddr5 = _T("");
  45. m_UserMACAddr6 = _T("");
  46. m_bChan1 = FALSE;
  47. m_bChan10 = FALSE;
  48. m_bChan11 = FALSE;
  49. m_bChan12 = FALSE;
  50. m_bChan14 = FALSE;
  51. m_bChan13 = FALSE;
  52. m_bChan15 = FALSE;
  53. m_bChan16 = FALSE;
  54. m_bChan2 = FALSE;
  55. m_bChan3 = FALSE;
  56. m_bChan4 = FALSE;
  57. m_bChan5 = FALSE;
  58. m_bChan6 = FALSE;
  59. m_bChan7 = FALSE;
  60. m_bChan8 = FALSE;
  61. m_bChan9 = FALSE;
  62. m_bLocalChan1 = FALSE;
  63. m_bLocalChan2 = FALSE;
  64. m_bLocalChan3 = FALSE;
  65. m_bLocalChan4 = FALSE;
  66. m_bLocalChan5 = FALSE;
  67. m_bLocalChan6 = FALSE;
  68. m_bLocalChan7 = FALSE;
  69. m_bLocalChan8 = FALSE;
  70. m_bLocalChan9 = FALSE;
  71. m_bLocalChan10 = FALSE;
  72. m_bLocalChan11 = FALSE;
  73. m_bLocalChan12 = FALSE;
  74. m_bLocalChan13 = FALSE;
  75. m_bLocalChan14 = FALSE;
  76. m_bLocalChan15 = FALSE;
  77. m_bLocalChan16 = FALSE;
  78. m_bPreChan1 = FALSE;
  79. m_bPreChan2 = FALSE;
  80. m_bPreChan3 = FALSE;
  81. m_bPreChan4 = FALSE;
  82. m_bPreChan5 = FALSE;
  83. m_bPreChan6 = FALSE;
  84. m_bPreChan7 = FALSE;
  85. m_bPreChan8 = FALSE;
  86. m_bPreChan9 = FALSE;
  87. m_bPreChan10 = FALSE;
  88. m_bPreChan11 = FALSE;
  89. m_bPreChan12 = FALSE;
  90. m_bPreChan13 = FALSE;
  91. m_bPreChan14 = FALSE;
  92. m_bPreChan15 = FALSE;
  93. m_bPreChan16 = FALSE;
  94. //}}AFX_DATA_INIT
  95. }
  96. void CRemoteUserCFG::DoDataExchange(CDataExchange* pDX)
  97. {
  98. CDialog::DoDataExchange(pDX);
  99. //{{AFX_DATA_MAP(CRemoteUserCFG)
  100. DDX_Control(pDX, IDC_COMBOUSERSEL, m_UserCtrl);
  101. DDX_Check(pDX, IDC_CHKRIGHT1, m_Right1);
  102. DDX_Check(pDX, IDC_CHKRIGHT2, m_Right2);
  103. DDX_Check(pDX, IDC_CHKRIGHT21, m_Right21);
  104. DDX_Check(pDX, IDC_CHKRIGHT22, m_Right22);
  105. DDX_Check(pDX, IDC_CHKRIGHT23, m_Right23);
  106. DDX_Check(pDX, IDC_CHKRIGHT24, m_Right24);
  107. DDX_Check(pDX, IDC_CHKRIGHT25, m_Right25);
  108. DDX_Check(pDX, IDC_CHKRIGHT26, m_Right26);
  109. DDX_Check(pDX, IDC_CHKRIGHT27, m_Right27);
  110. DDX_Check(pDX, IDC_CHKRIGHT28, m_Right28);
  111. DDX_Check(pDX, IDC_CHKRIGHT29, m_Right29);
  112. DDX_Check(pDX, IDC_CHKRIGHT3, m_Right3);
  113. DDX_Check(pDX, IDC_CHKRIGHT30, m_Right30);
  114. DDX_Check(pDX, IDC_CHKRIGHT31, m_Right31);
  115. DDX_Check(pDX, IDC_CHKRIGHT4, m_Right4);
  116. DDX_Check(pDX, IDC_CHKRIGHT5, m_Right5);
  117. DDX_Check(pDX, IDC_CHKRIGHT6, m_Right6);
  118. DDX_Text(pDX, IDC_EDITUSERIP, m_UserIP);
  119. DDX_Text(pDX, IDC_EDITUSERNAME, m_UserName);
  120. DDX_Text(pDX, IDC_EDITUSERPSW, m_UserPSW);
  121. DDX_Text(pDX, IDC_EDITUSERVERIFYPSW, m_UserVerifyPSW);
  122. DDX_Text(pDX, IDC_EDITUSERMACADDR1, m_UserMACAddr1);
  123. DDX_Text(pDX, IDC_EDITUSERMACADDR2, m_UserMACAddr2);
  124. DDX_Text(pDX, IDC_EDITUSERMACADDR3, m_UserMACAddr3);
  125. DDX_Text(pDX, IDC_EDITUSERMACADDR4, m_UserMACAddr4);
  126. DDX_Text(pDX, IDC_EDITUSERMACADDR5, m_UserMACAddr5);
  127. DDX_Text(pDX, IDC_EDITUSERMACADDR6, m_UserMACAddr6);
  128. DDX_Check(pDX, IDC_CHKCHAN1, m_bChan1);
  129. DDX_Check(pDX, IDC_CHKCHAN10, m_bChan10);
  130. DDX_Check(pDX, IDC_CHKCHAN11, m_bChan11);
  131. DDX_Check(pDX, IDC_CHKCHAN12, m_bChan12);
  132. DDX_Check(pDX, IDC_CHKCHAN14, m_bChan14);
  133. DDX_Check(pDX, IDC_CHKCHAN13, m_bChan13);
  134. DDX_Check(pDX, IDC_CHKCHAN15, m_bChan15);
  135. DDX_Check(pDX, IDC_CHKCHAN16, m_bChan16);
  136. DDX_Check(pDX, IDC_CHKCHAN2, m_bChan2);
  137. DDX_Check(pDX, IDC_CHKCHAN3, m_bChan3);
  138. DDX_Check(pDX, IDC_CHKCHAN4, m_bChan4);
  139. DDX_Check(pDX, IDC_CHKCHAN5, m_bChan5);
  140. DDX_Check(pDX, IDC_CHKCHAN6, m_bChan6);
  141. DDX_Check(pDX, IDC_CHKCHAN7, m_bChan7);
  142. DDX_Check(pDX, IDC_CHKCHAN8, m_bChan8);
  143. DDX_Check(pDX, IDC_CHKCHAN9, m_bChan9);
  144. DDX_Check(pDX, IDC_CHKCHAN17, m_bLocalChan1);
  145. DDX_Check(pDX, IDC_CHKCHAN18, m_bLocalChan2);
  146. DDX_Check(pDX, IDC_CHKCHAN19, m_bLocalChan3);
  147. DDX_Check(pDX, IDC_CHKCHAN20, m_bLocalChan4);
  148. DDX_Check(pDX, IDC_CHKCHAN21, m_bLocalChan5);
  149. DDX_Check(pDX, IDC_CHKCHAN22, m_bLocalChan6);
  150. DDX_Check(pDX, IDC_CHKCHAN23, m_bLocalChan7);
  151. DDX_Check(pDX, IDC_CHKCHAN24, m_bLocalChan8);
  152. DDX_Check(pDX, IDC_CHKCHAN25, m_bLocalChan9);
  153. DDX_Check(pDX, IDC_CHKCHAN26, m_bLocalChan10);
  154. DDX_Check(pDX, IDC_CHKCHAN27, m_bLocalChan11);
  155. DDX_Check(pDX, IDC_CHKCHAN28, m_bLocalChan12);
  156. DDX_Check(pDX, IDC_CHKCHAN29, m_bLocalChan13);
  157. DDX_Check(pDX, IDC_CHKCHAN30, m_bLocalChan14);
  158. DDX_Check(pDX, IDC_CHKCHAN31, m_bLocalChan15);
  159. DDX_Check(pDX, IDC_CHKCHAN32, m_bLocalChan16);
  160. DDX_Check(pDX, IDC_CHKCHAN33, m_bPreChan1);
  161. DDX_Check(pDX, IDC_CHKCHAN34, m_bPreChan2);
  162. DDX_Check(pDX, IDC_CHKCHAN35, m_bPreChan3);
  163. DDX_Check(pDX, IDC_CHKCHAN36, m_bPreChan4);
  164. DDX_Check(pDX, IDC_CHKCHAN37, m_bPreChan5);
  165. DDX_Check(pDX, IDC_CHKCHAN38, m_bPreChan6);
  166. DDX_Check(pDX, IDC_CHKCHAN39, m_bPreChan7);
  167. DDX_Check(pDX, IDC_CHKCHAN40, m_bPreChan8);
  168. DDX_Check(pDX, IDC_CHKCHAN41, m_bPreChan9);
  169. DDX_Check(pDX, IDC_CHKCHAN42, m_bPreChan10);
  170. DDX_Check(pDX, IDC_CHKCHAN43, m_bPreChan11);
  171. DDX_Check(pDX, IDC_CHKCHAN44, m_bPreChan12);
  172. DDX_Check(pDX, IDC_CHKCHAN45, m_bPreChan13);
  173. DDX_Check(pDX, IDC_CHKCHAN46, m_bPreChan14);
  174. DDX_Check(pDX, IDC_CHKCHAN47, m_bPreChan15);
  175. DDX_Check(pDX, IDC_CHKCHAN48, m_bPreChan16);
  176. //}}AFX_DATA_MAP
  177. }
  178. BEGIN_MESSAGE_MAP(CRemoteUserCFG, CDialog)
  179. //{{AFX_MSG_MAP(CRemoteUserCFG)
  180. ON_CBN_SELCHANGE(IDC_COMBOUSERSEL, OnSelchangeCombousersel)
  181. ON_BN_CLICKED(IDUSEROK, OnUserok)
  182. ON_BN_CLICKED(IDEXIT, OnExit)
  183. ON_BN_CLICKED(IDC_CHKRIGHT23, OnChkright23)
  184. ON_BN_CLICKED(IDC_CHKRIGHT3, OnChkright3)
  185. ON_BN_CLICKED(IDC_CHKRIGHT28, OnChkright28)
  186. //}}AFX_MSG_MAP
  187. END_MESSAGE_MAP()
  188. /////////////////////////////////////////////////////////////////////////////
  189. // CRemoteUserCFG message handlers
  190. BOOL CRemoteUserCFG::CheckPara()
  191. {
  192. CString csUserName;
  193. DWORD dwReturned;
  194. bSetUserParams = FALSE;
  195. char cTemp[100];
  196. if (m_bConnectServer)
  197. {
  198. if (!NET_DVR_GetDVRConfig(m_lServerID, NET_DVR_GET_USERCFG_EX, 0,&m_user, sizeof(NET_DVR_USER_EX), &dwReturned))
  199. {
  200. CString sTemp;
  201. sTemp.Format("ERROR: NET_DVR_GET_USERCFG = %d \n", NET_DVR_GetLastError());
  202. MessageBox(sTemp, "温馨提示", MB_ICONINFORMATION);
  203. }
  204. else
  205. {
  206. if (m_bSuperUser)
  207. {
  208. m_usernum = 0;
  209. m_UserCtrl.SetCurSel(m_usernum);
  210. }
  211. else
  212. {
  213. int i;
  214. for (i=0; i<MAX_USERNUM; i++)
  215. {
  216. ZeroMemory(cTemp, 100);
  217. memcpy(cTemp, m_user.struUser[i].sUserName, MAX_NAMELEN);
  218. csUserName.Format("%s", cTemp);
  219. if (strcmp(csUserName, m_loginname) == 0)
  220. {
  221. break;
  222. }
  223. }
  224. m_usernum = i;
  225. m_UserCtrl.SetCurSel(m_usernum);
  226. }
  227. ZeroMemory(cTemp, 100);
  228. memcpy(cTemp, m_user.struUser[m_usernum].sUserName, MAX_NAMELEN);
  229. m_UserName.Format("%s", cTemp);
  230. ZeroMemory(cTemp, 100);
  231. memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN);
  232. m_UserPSW.Format("%s", cTemp);
  233. ZeroMemory(cTemp, 100);
  234. memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN);
  235. m_UserVerifyPSW.Format("%s", cTemp);
  236. m_UserIP.Format("%s",m_user.struUser[m_usernum].sUserIP);
  237. m_UserMACAddr1.Format("%02x",m_user.struUser[m_usernum].byMACAddr[0]);
  238. m_UserMACAddr2.Format("%02x",m_user.struUser[m_usernum].byMACAddr[1]);
  239. m_UserMACAddr3.Format("%02x",m_user.struUser[m_usernum].byMACAddr[2]);
  240. m_UserMACAddr4.Format("%02x",m_user.struUser[m_usernum].byMACAddr[3]);
  241. m_UserMACAddr5.Format("%02x",m_user.struUser[m_usernum].byMACAddr[4]);
  242. m_UserMACAddr6.Format("%02x",m_user.struUser[m_usernum].byMACAddr[5]);
  243. m_Right1 = m_user.struUser[m_usernum].dwLocalRight[0];
  244. m_Right2 = m_user.struUser[m_usernum].dwLocalRight[1];
  245. m_Right3 = m_user.struUser[m_usernum].dwLocalRight[2];
  246. m_Right4 = m_user.struUser[m_usernum].dwLocalRight[3];
  247. m_Right5 = m_user.struUser[m_usernum].dwLocalRight[4];
  248. m_Right6 = m_user.struUser[m_usernum].dwLocalRight[5];
  249. m_Right21 = m_user.struUser[m_usernum].dwRemoteRight[0];
  250. m_Right22 = m_user.struUser[m_usernum].dwRemoteRight[1];
  251. m_Right23 = m_user.struUser[m_usernum].dwRemoteRight[2];
  252. m_Right24 = m_user.struUser[m_usernum].dwRemoteRight[3];
  253. m_Right25 = m_user.struUser[m_usernum].dwRemoteRight[4];
  254. m_Right26 = m_user.struUser[m_usernum].dwRemoteRight[5];
  255. m_Right27 = m_user.struUser[m_usernum].dwRemoteRight[6];
  256. m_Right28 = m_user.struUser[m_usernum].dwRemoteRight[7];
  257. m_Right29 = m_user.struUser[m_usernum].dwRemoteRight[8];
  258. m_Right30 = m_user.struUser[m_usernum].dwRemoteRight[9];
  259. m_Right31 = m_user.struUser[m_usernum].dwRemoteRight[10];
  260. #ifdef SDK_V15
  261. m_bChan1 = m_user.struUser[m_usernum].dwNetPlaybackRight & 0x01;
  262. m_bChan2 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 1) & 0x01;
  263. m_bChan3 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 2) & 0x01;
  264. m_bChan4 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 3) & 0x01;
  265. m_bChan5 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 4) & 0x01;
  266. m_bChan6 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 5) & 0x01;
  267. m_bChan7 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 6) & 0x01;
  268. m_bChan8 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 7) & 0x01;
  269. m_bChan9 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 8) & 0x01;
  270. m_bChan10 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 9) & 0x01;
  271. m_bChan11 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 10) & 0x01;
  272. m_bChan12 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 11) & 0x01;
  273. m_bChan13 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 12) & 0x01;
  274. m_bChan14 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 13) & 0x01;
  275. m_bChan15 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 14) & 0x01;
  276. m_bChan16 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 15) & 0x01;
  277. m_bLocalChan1 = m_user.struUser[m_usernum].dwLocalPlaybackRight & 0x01;
  278. m_bLocalChan2 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 1) & 0x01;
  279. m_bLocalChan3 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 2) & 0x01;
  280. m_bLocalChan4 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 3) & 0x01;
  281. m_bLocalChan5 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 4) & 0x01;
  282. m_bLocalChan6 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 5) & 0x01;
  283. m_bLocalChan7 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 6) & 0x01;
  284. m_bLocalChan8 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 7) & 0x01;
  285. m_bLocalChan9 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 8) & 0x01;
  286. m_bLocalChan10 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 9) & 0x01;
  287. m_bLocalChan11 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 10) & 0x01;
  288. m_bLocalChan12 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 11) & 0x01;
  289. m_bLocalChan13 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 12) & 0x01;
  290. m_bLocalChan14 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 13) & 0x01;
  291. m_bLocalChan15 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 14) & 0x01;
  292. m_bLocalChan16 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 15) & 0x01;
  293. m_bPreChan1 = m_user.struUser[m_usernum].dwNetPreviewRight & 0x01;
  294. m_bPreChan2 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 1) & 0x01;
  295. m_bPreChan3 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 2) & 0x01;
  296. m_bPreChan4 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 3) & 0x01;
  297. m_bPreChan5 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 4) & 0x01;
  298. m_bPreChan6 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 5) & 0x01;
  299. m_bPreChan7 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 6) & 0x01;
  300. m_bPreChan8 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 7) & 0x01;
  301. m_bPreChan9 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 8) & 0x01;
  302. m_bPreChan10 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 9) & 0x01;
  303. m_bPreChan11 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 10) & 0x01;
  304. m_bPreChan12 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 11) & 0x01;
  305. m_bPreChan13 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 12) & 0x01;
  306. m_bPreChan14 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 13) & 0x01;
  307. m_bPreChan15 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 14) & 0x01;
  308. m_bPreChan16 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 15) & 0x01;
  309. #endif
  310. GetDlgItem(IDC_COMBOUSERSEL)->EnableWindow(FALSE);
  311. GetDlgItem(IDC_EDITUSERIP)->EnableWindow(FALSE);
  312. GetDlgItem(IDC_EDITUSERMACADDR1)->EnableWindow(FALSE);
  313. GetDlgItem(IDC_EDITUSERMACADDR2)->EnableWindow(FALSE);
  314. GetDlgItem(IDC_EDITUSERMACADDR3)->EnableWindow(FALSE);
  315. GetDlgItem(IDC_EDITUSERMACADDR4)->EnableWindow(FALSE);
  316. GetDlgItem(IDC_EDITUSERMACADDR5)->EnableWindow(FALSE);
  317. GetDlgItem(IDC_EDITUSERMACADDR6)->EnableWindow(FALSE);
  318. GetDlgItem(IDC_EDITUSERNAME)->EnableWindow(FALSE);
  319. GetDlgItem(IDC_EDITUSERPSW)->EnableWindow(FALSE);
  320. GetDlgItem(IDC_EDITUSERVERIFYPSW)->EnableWindow(FALSE);
  321. GetDlgItem(IDC_CHKRIGHT1)->EnableWindow(FALSE);
  322. GetDlgItem(IDC_CHKRIGHT2)->EnableWindow(FALSE);
  323. GetDlgItem(IDC_CHKRIGHT3)->EnableWindow(FALSE);
  324. GetDlgItem(IDC_CHKRIGHT4)->EnableWindow(FALSE);
  325. GetDlgItem(IDC_CHKRIGHT5)->EnableWindow(FALSE);
  326. GetDlgItem(IDC_CHKRIGHT6)->EnableWindow(FALSE);
  327. GetDlgItem(IDC_CHKRIGHT21)->EnableWindow(FALSE);
  328. GetDlgItem(IDC_CHKRIGHT22)->EnableWindow(FALSE);
  329. GetDlgItem(IDC_CHKRIGHT23)->EnableWindow(FALSE);
  330. GetDlgItem(IDC_CHKRIGHT24)->EnableWindow(FALSE);
  331. GetDlgItem(IDC_CHKRIGHT25)->EnableWindow(FALSE);
  332. GetDlgItem(IDC_CHKRIGHT26)->EnableWindow(FALSE);
  333. GetDlgItem(IDC_CHKRIGHT27)->EnableWindow(FALSE);
  334. GetDlgItem(IDC_CHKRIGHT28)->EnableWindow(FALSE);
  335. GetDlgItem(IDC_CHKRIGHT29)->EnableWindow(FALSE);
  336. GetDlgItem(IDC_CHKRIGHT30)->EnableWindow(FALSE);
  337. GetDlgItem(IDC_CHKRIGHT31)->EnableWindow(FALSE);
  338. if (m_bSuperUser)
  339. {
  340. GetDlgItem(IDC_COMBOUSERSEL)->EnableWindow(TRUE);
  341. GetDlgItem(IDC_EDITUSERIP)->EnableWindow(TRUE);
  342. GetDlgItem(IDC_EDITUSERMACADDR1)->EnableWindow(TRUE);
  343. GetDlgItem(IDC_EDITUSERMACADDR2)->EnableWindow(TRUE);
  344. GetDlgItem(IDC_EDITUSERMACADDR3)->EnableWindow(TRUE);
  345. GetDlgItem(IDC_EDITUSERMACADDR4)->EnableWindow(TRUE);
  346. GetDlgItem(IDC_EDITUSERMACADDR5)->EnableWindow(TRUE);
  347. GetDlgItem(IDC_EDITUSERMACADDR6)->EnableWindow(TRUE);
  348. GetDlgItem(IDC_EDITUSERPSW)->EnableWindow(TRUE);
  349. GetDlgItem(IDC_EDITUSERVERIFYPSW)->EnableWindow(TRUE);
  350. }
  351. GetDlgItem(IDUSEROK)->EnableWindow(TRUE);
  352. }
  353. }
  354. GetDlgItem(IDC_EDITUSERNAME)->EnableWindow(FALSE);
  355. UpdateData(FALSE);
  356. return TRUE;
  357. }
  358. BOOL CRemoteUserCFG::OnInitDialog()
  359. {
  360. CDialog::OnInitDialog();
  361. // TODO: Add extra initialization here
  362. CRect rc(0, 0, 0, 0);
  363. GetParent()->GetClientRect(&rc);
  364. ((CTabCtrl*)GetParent())->AdjustRect(FALSE, &rc);
  365. MoveWindow(&rc);
  366. if(m_pRemoteParam->m_dvrSelect != -1)
  367. CheckPara();
  368. return TRUE; // return TRUE unless you set the focus to a control
  369. // EXCEPTION: OCX Property Pages should return FALSE
  370. }
  371. void CRemoteUserCFG::OnSelchangeCombousersel()
  372. {
  373. if(m_pRemoteParam->m_dvrSelect == -1)
  374. return;
  375. // TODO: Add your control notification handler code here
  376. char cTemp[100];
  377. m_usernum = m_UserCtrl.GetCurSel();
  378. ZeroMemory(cTemp, 100);
  379. memcpy(cTemp, m_user.struUser[m_usernum].sUserName, MAX_NAMELEN);
  380. m_UserName.Format("%s", cTemp);
  381. ZeroMemory(cTemp, 100);
  382. memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN);
  383. m_UserPSW.Format("%s", cTemp);
  384. ZeroMemory(cTemp, 100);
  385. memcpy(cTemp, m_user.struUser[m_usernum].sPassword, PASSWD_LEN);
  386. m_UserVerifyPSW.Format("%s", cTemp);
  387. m_UserIP.Format("%s",m_user.struUser[m_usernum].sUserIP);
  388. m_UserMACAddr1.Format("%02x",m_user.struUser[m_usernum].byMACAddr[0]);
  389. m_UserMACAddr2.Format("%02x",m_user.struUser[m_usernum].byMACAddr[1]);
  390. m_UserMACAddr3.Format("%02x",m_user.struUser[m_usernum].byMACAddr[2]);
  391. m_UserMACAddr4.Format("%02x",m_user.struUser[m_usernum].byMACAddr[3]);
  392. m_UserMACAddr5.Format("%02x",m_user.struUser[m_usernum].byMACAddr[4]);
  393. m_UserMACAddr6.Format("%02x",m_user.struUser[m_usernum].byMACAddr[5]);
  394. m_Right1 = m_user.struUser[m_usernum].dwLocalRight[0];
  395. m_Right2 = m_user.struUser[m_usernum].dwLocalRight[1];
  396. m_Right3 = m_user.struUser[m_usernum].dwLocalRight[2];
  397. m_Right4 = m_user.struUser[m_usernum].dwLocalRight[3];
  398. m_Right5 = m_user.struUser[m_usernum].dwLocalRight[4];
  399. m_Right6 = m_user.struUser[m_usernum].dwLocalRight[5];
  400. m_Right21 = m_user.struUser[m_usernum].dwRemoteRight[0];
  401. m_Right22 = m_user.struUser[m_usernum].dwRemoteRight[1];
  402. m_Right23 = m_user.struUser[m_usernum].dwRemoteRight[2];
  403. m_Right24 = m_user.struUser[m_usernum].dwRemoteRight[3];
  404. m_Right25 = m_user.struUser[m_usernum].dwRemoteRight[4];
  405. m_Right26 = m_user.struUser[m_usernum].dwRemoteRight[5];
  406. m_Right27 = m_user.struUser[m_usernum].dwRemoteRight[6];
  407. m_Right28 = m_user.struUser[m_usernum].dwRemoteRight[7];
  408. m_Right29 = m_user.struUser[m_usernum].dwRemoteRight[8];
  409. m_Right30 = m_user.struUser[m_usernum].dwRemoteRight[9];
  410. m_Right31 = m_user.struUser[m_usernum].dwRemoteRight[10];
  411. if (m_usernum != 0)
  412. {
  413. GetDlgItem(IDC_EDITUSERNAME)->EnableWindow(TRUE);
  414. GetDlgItem(IDC_EDITUSERPSW)->EnableWindow(TRUE);
  415. GetDlgItem(IDC_EDITUSERVERIFYPSW)->EnableWindow(TRUE);
  416. GetDlgItem(IDC_CHKRIGHT1)->EnableWindow(TRUE);
  417. GetDlgItem(IDC_CHKRIGHT2)->EnableWindow(TRUE);
  418. GetDlgItem(IDC_CHKRIGHT3)->EnableWindow(TRUE);
  419. GetDlgItem(IDC_CHKRIGHT4)->EnableWindow(TRUE);
  420. GetDlgItem(IDC_CHKRIGHT5)->EnableWindow(TRUE);
  421. GetDlgItem(IDC_CHKRIGHT6)->EnableWindow(TRUE);
  422. GetDlgItem(IDC_CHKRIGHT21)->EnableWindow(TRUE);
  423. GetDlgItem(IDC_CHKRIGHT22)->EnableWindow(TRUE);
  424. GetDlgItem(IDC_CHKRIGHT23)->EnableWindow(TRUE);
  425. GetDlgItem(IDC_CHKRIGHT24)->EnableWindow(TRUE);
  426. GetDlgItem(IDC_CHKRIGHT25)->EnableWindow(TRUE);
  427. GetDlgItem(IDC_CHKRIGHT26)->EnableWindow(TRUE);
  428. GetDlgItem(IDC_CHKRIGHT27)->EnableWindow(TRUE);
  429. GetDlgItem(IDC_CHKRIGHT28)->EnableWindow(TRUE);
  430. GetDlgItem(IDC_CHKRIGHT29)->EnableWindow(TRUE);
  431. GetDlgItem(IDC_CHKRIGHT30)->EnableWindow(TRUE);
  432. GetDlgItem(IDC_CHKRIGHT31)->EnableWindow(TRUE);
  433. #ifdef SDK_V15
  434. F_ShowChan(m_iChannelnumber, m_Right23);
  435. F_ShowLocalChan(m_iChannelnumber, m_Right3);
  436. F_ShowPreChan(m_iChannelnumber, m_Right28);
  437. #endif
  438. }
  439. else
  440. {
  441. GetDlgItem(IDC_EDITUSERNAME)->EnableWindow(FALSE);
  442. GetDlgItem(IDC_CHKRIGHT1)->EnableWindow(FALSE);
  443. GetDlgItem(IDC_CHKRIGHT2)->EnableWindow(FALSE);
  444. GetDlgItem(IDC_CHKRIGHT3)->EnableWindow(FALSE);
  445. GetDlgItem(IDC_CHKRIGHT4)->EnableWindow(FALSE);
  446. GetDlgItem(IDC_CHKRIGHT5)->EnableWindow(FALSE);
  447. GetDlgItem(IDC_CHKRIGHT6)->EnableWindow(FALSE);
  448. GetDlgItem(IDC_CHKRIGHT21)->EnableWindow(FALSE);
  449. GetDlgItem(IDC_CHKRIGHT22)->EnableWindow(FALSE);
  450. GetDlgItem(IDC_CHKRIGHT23)->EnableWindow(FALSE);
  451. GetDlgItem(IDC_CHKRIGHT24)->EnableWindow(FALSE);
  452. GetDlgItem(IDC_CHKRIGHT25)->EnableWindow(FALSE);
  453. GetDlgItem(IDC_CHKRIGHT26)->EnableWindow(FALSE);
  454. GetDlgItem(IDC_CHKRIGHT27)->EnableWindow(FALSE);
  455. GetDlgItem(IDC_CHKRIGHT28)->EnableWindow(FALSE);
  456. GetDlgItem(IDC_CHKRIGHT29)->EnableWindow(FALSE);
  457. GetDlgItem(IDC_CHKRIGHT30)->EnableWindow(FALSE);
  458. GetDlgItem(IDC_CHKRIGHT31)->EnableWindow(FALSE);
  459. #ifdef SDK_V15
  460. F_ShowChan(m_iChannelnumber, FALSE);
  461. F_ShowLocalChan(m_iChannelnumber, FALSE);
  462. F_ShowPreChan(m_iChannelnumber, FALSE);
  463. #endif
  464. }
  465. UpdateData(FALSE);
  466. }
  467. void CRemoteUserCFG::OnUserok()
  468. {
  469. if(m_pRemoteParam->m_dvrSelect == -1)
  470. return;
  471. // TODO: Add your control notification handler code here
  472. UpdateData(TRUE);
  473. strncpy((char *)m_user.struUser[m_usernum].sUserName, m_UserName, MAX_NAMELEN);
  474. if (strcmp(m_UserPSW,m_UserVerifyPSW) != 0)
  475. {
  476. MessageBox("密码与确认密码不一致!", "温馨提示", MB_ICONINFORMATION);
  477. return;
  478. }
  479. int iLength = strlen(m_UserPSW);
  480. iLength = iLength>PASSWD_LEN ? PASSWD_LEN:iLength;
  481. char temp[PASSWD_LEN];
  482. strncpy(temp,m_UserPSW,PASSWD_LEN);
  483. strncpy((char *)m_user.struUser[m_usernum].sPassword, m_UserPSW,PASSWD_LEN);
  484. strncpy((char *)m_user.struUser[m_usernum].sUserIP, m_UserIP,16);
  485. int nVal;
  486. sscanf(m_UserMACAddr1, "%02x", &nVal);
  487. m_user.struUser[m_usernum].byMACAddr[0] = (BYTE)nVal;
  488. sscanf(m_UserMACAddr2, "%02x", &nVal);
  489. m_user.struUser[m_usernum].byMACAddr[1] = (BYTE)nVal;
  490. sscanf(m_UserMACAddr3, "%02x", &nVal);
  491. m_user.struUser[m_usernum].byMACAddr[2] = (BYTE)nVal;
  492. sscanf(m_UserMACAddr4, "%02x", &nVal);
  493. m_user.struUser[m_usernum].byMACAddr[3] = (BYTE)nVal;
  494. sscanf(m_UserMACAddr5, "%02x", &nVal);
  495. m_user.struUser[m_usernum].byMACAddr[4] = (BYTE)nVal;
  496. sscanf(m_UserMACAddr6, "%02x", &nVal);
  497. m_user.struUser[m_usernum].byMACAddr[5] = (BYTE)nVal;
  498. m_user.struUser[m_usernum].dwLocalRight[0] = m_Right1;
  499. m_user.struUser[m_usernum].dwLocalRight[1] = m_Right2;
  500. m_user.struUser[m_usernum].dwLocalRight[2] = m_Right3;
  501. m_user.struUser[m_usernum].dwLocalRight[3] = m_Right4;
  502. m_user.struUser[m_usernum].dwLocalRight[4] = m_Right5;
  503. m_user.struUser[m_usernum].dwLocalRight[5] = m_Right6;
  504. m_user.struUser[m_usernum].dwRemoteRight[0] = m_Right21;
  505. m_user.struUser[m_usernum].dwRemoteRight[1] = m_Right22;
  506. m_user.struUser[m_usernum].dwRemoteRight[2] = m_Right23;
  507. m_user.struUser[m_usernum].dwRemoteRight[3] = m_Right24;
  508. m_user.struUser[m_usernum].dwRemoteRight[4] = m_Right25;
  509. m_user.struUser[m_usernum].dwRemoteRight[5] = m_Right26;
  510. m_user.struUser[m_usernum].dwRemoteRight[6] = m_Right27;
  511. m_user.struUser[m_usernum].dwRemoteRight[7] = m_Right28;
  512. m_user.struUser[m_usernum].dwRemoteRight[8] = m_Right29;
  513. m_user.struUser[m_usernum].dwRemoteRight[9] = m_Right30;
  514. m_user.struUser[m_usernum].dwRemoteRight[10] = m_Right31;
  515. #ifdef SDK_V15
  516. m_user.struUser[m_usernum].dwNetPlaybackRight = 0;
  517. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan1;
  518. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan2 << 1;
  519. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan3 << 2;
  520. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan4 << 3;
  521. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan5 << 4;
  522. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan6 << 5;
  523. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan7 << 6;
  524. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan8 << 7;
  525. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan9 << 8;
  526. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan10 << 9;
  527. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan11 << 10;
  528. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan12 << 11;
  529. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan13 << 12;
  530. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan14 << 13;
  531. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan15 << 14;
  532. m_user.struUser[m_usernum].dwNetPlaybackRight |= m_bChan16 << 15;
  533. m_user.struUser[m_usernum].dwLocalPlaybackRight = 0;
  534. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan1;
  535. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan2 << 1;
  536. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan3 << 2;
  537. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan4 << 3;
  538. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan5 << 4;
  539. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan6 << 5;
  540. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan7 << 6;
  541. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan8 << 7;
  542. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan9 << 8;
  543. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan10 << 9;
  544. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan11 << 10;
  545. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan12 << 11;
  546. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan13 << 12;
  547. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan14 << 13;
  548. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan15 << 14;
  549. m_user.struUser[m_usernum].dwLocalPlaybackRight |= m_bLocalChan16 << 15;
  550. m_user.struUser[m_usernum].dwNetPreviewRight = 0;
  551. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan1;
  552. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan2 << 1;
  553. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan3 << 2;
  554. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan4 << 3;
  555. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan5 << 4;
  556. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan6 << 5;
  557. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan7 << 6;
  558. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan8 << 7;
  559. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan9 << 8;
  560. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan10 << 9;
  561. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan11 << 10;
  562. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan12 << 11;
  563. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan13 << 12;
  564. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan14 << 13;
  565. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan15 << 14;
  566. m_user.struUser[m_usernum].dwNetPreviewRight |= m_bPreChan16 << 15;
  567. #endif
  568. bSetUserParams = TRUE;
  569. }
  570. void CRemoteUserCFG::OnExit()
  571. {
  572. // TODO: Add your control notification handler code here
  573. bSetUserParams = FALSE;
  574. }
  575. void CRemoteUserCFG::OnCancel()
  576. {
  577. // TODO: Add extra cleanup here
  578. // CDialog::OnCancel();
  579. }
  580. BOOL CRemoteUserCFG::F_ShowChan(int nChan, BOOL bFlag)
  581. {
  582. #ifdef SDK_V15
  583. if (nChan>=1)
  584. {
  585. GetDlgItem(IDC_CHKCHAN1)->EnableWindow(bFlag);
  586. m_bChan1 = m_user.struUser[m_usernum].dwNetPlaybackRight & 0x01;
  587. }
  588. if (nChan>=2)
  589. {
  590. GetDlgItem(IDC_CHKCHAN2)->EnableWindow(bFlag);
  591. m_bChan2 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 1) & 0x01;
  592. }
  593. if (nChan>=3)
  594. {
  595. GetDlgItem(IDC_CHKCHAN3)->EnableWindow(bFlag);
  596. m_bChan3 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 2) & 0x01;
  597. }
  598. if (nChan>=4)
  599. {
  600. GetDlgItem(IDC_CHKCHAN4)->EnableWindow(bFlag);
  601. m_bChan4 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 3) & 0x01;
  602. }
  603. if (nChan>=5)
  604. {
  605. GetDlgItem(IDC_CHKCHAN5)->EnableWindow(bFlag);
  606. m_bChan5 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 4) & 0x01;
  607. }
  608. if (nChan>=6)
  609. {
  610. GetDlgItem(IDC_CHKCHAN6)->EnableWindow(bFlag);
  611. m_bChan6 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 5) & 0x01;
  612. }
  613. if (nChan>=7)
  614. {
  615. GetDlgItem(IDC_CHKCHAN7)->EnableWindow(bFlag);
  616. m_bChan7 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 6) & 0x01;
  617. }
  618. if (nChan>=8)
  619. {
  620. GetDlgItem(IDC_CHKCHAN8)->EnableWindow(bFlag);
  621. m_bChan8 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 7) & 0x01;
  622. }
  623. if (nChan>=9)
  624. {
  625. GetDlgItem(IDC_CHKCHAN9)->EnableWindow(bFlag);
  626. m_bChan9 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 8) & 0x01;
  627. }
  628. if (nChan>=10)
  629. {
  630. GetDlgItem(IDC_CHKCHAN10)->EnableWindow(bFlag);
  631. m_bChan10 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 9) & 0x01;
  632. }
  633. if (nChan>=11)
  634. {
  635. GetDlgItem(IDC_CHKCHAN11)->EnableWindow(bFlag);
  636. m_bChan11 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 10) & 0x01;
  637. }
  638. if (nChan>=12)
  639. {
  640. GetDlgItem(IDC_CHKCHAN12)->EnableWindow(bFlag);
  641. m_bChan12 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 11) & 0x01;
  642. }
  643. if (nChan>=13)
  644. {
  645. GetDlgItem(IDC_CHKCHAN13)->EnableWindow(bFlag);
  646. m_bChan13 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 12) & 0x01;
  647. }
  648. if (nChan>=14)
  649. {
  650. GetDlgItem(IDC_CHKCHAN14)->EnableWindow(bFlag);
  651. m_bChan14 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 13) & 0x01;
  652. }
  653. if (nChan>=15)
  654. {
  655. GetDlgItem(IDC_CHKCHAN15)->EnableWindow(bFlag);
  656. m_bChan15 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 14) & 0x01;
  657. }
  658. if (nChan>=16)
  659. {
  660. GetDlgItem(IDC_CHKCHAN16)->EnableWindow(bFlag);
  661. m_bChan16 = (m_user.struUser[m_usernum].dwNetPlaybackRight >> 15) & 0x01;
  662. }
  663. #endif
  664. return TRUE;
  665. }
  666. BOOL CRemoteUserCFG::F_ShowLocalChan(int nChan, BOOL bFlag)
  667. {
  668. #ifdef SDK_V15
  669. if (nChan>=1)
  670. {
  671. GetDlgItem(IDC_CHKCHAN17)->EnableWindow(bFlag);
  672. m_bLocalChan1 = m_user.struUser[m_usernum].dwLocalPlaybackRight & 0x01;
  673. }
  674. if (nChan>=2)
  675. {
  676. GetDlgItem(IDC_CHKCHAN18)->EnableWindow(bFlag);
  677. m_bLocalChan2 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 1) & 0x01;
  678. }
  679. if (nChan>=3)
  680. {
  681. GetDlgItem(IDC_CHKCHAN19)->EnableWindow(bFlag);
  682. m_bLocalChan3 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 2) & 0x01;
  683. }
  684. if (nChan>=4)
  685. {
  686. GetDlgItem(IDC_CHKCHAN20)->EnableWindow(bFlag);
  687. m_bLocalChan4 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 3) & 0x01;
  688. }
  689. if (nChan>=5)
  690. {
  691. GetDlgItem(IDC_CHKCHAN21)->EnableWindow(bFlag);
  692. m_bLocalChan5 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 4) & 0x01;
  693. }
  694. if (nChan>=6)
  695. {
  696. GetDlgItem(IDC_CHKCHAN22)->EnableWindow(bFlag);
  697. m_bLocalChan6 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 5) & 0x01;
  698. }
  699. if (nChan>=7)
  700. {
  701. GetDlgItem(IDC_CHKCHAN23)->EnableWindow(bFlag);
  702. m_bLocalChan7 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 6) & 0x01;
  703. }
  704. if (nChan>=8)
  705. {
  706. GetDlgItem(IDC_CHKCHAN24)->EnableWindow(bFlag);
  707. m_bLocalChan8 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 7) & 0x01;
  708. }
  709. if (nChan>=9)
  710. {
  711. GetDlgItem(IDC_CHKCHAN25)->EnableWindow(bFlag);
  712. m_bLocalChan9 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 8) & 0x01;
  713. }
  714. if (nChan>=10)
  715. {
  716. GetDlgItem(IDC_CHKCHAN26)->EnableWindow(bFlag);
  717. m_bLocalChan10 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 9) & 0x01;
  718. }
  719. if (nChan>=11)
  720. {
  721. GetDlgItem(IDC_CHKCHAN27)->EnableWindow(bFlag);
  722. m_bLocalChan11 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 10) & 0x01;
  723. }
  724. if (nChan>=12)
  725. {
  726. GetDlgItem(IDC_CHKCHAN28)->EnableWindow(bFlag);
  727. m_bLocalChan12 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 11) & 0x01;
  728. }
  729. if (nChan>=13)
  730. {
  731. GetDlgItem(IDC_CHKCHAN29)->EnableWindow(bFlag);
  732. m_bLocalChan13 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 12) & 0x01;
  733. }
  734. if (nChan>=14)
  735. {
  736. GetDlgItem(IDC_CHKCHAN30)->EnableWindow(bFlag);
  737. m_bLocalChan14 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 13) & 0x01;
  738. }
  739. if (nChan>=15)
  740. {
  741. GetDlgItem(IDC_CHKCHAN31)->EnableWindow(bFlag);
  742. m_bLocalChan15 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 14) & 0x01;
  743. }
  744. if (nChan>=16)
  745. {
  746. GetDlgItem(IDC_CHKCHAN32)->EnableWindow(bFlag);
  747. m_bLocalChan16 = (m_user.struUser[m_usernum].dwLocalPlaybackRight >> 15) & 0x01;
  748. }
  749. #endif
  750. return TRUE;
  751. }
  752. BOOL CRemoteUserCFG::F_ShowPreChan(int nChan, BOOL bFlag)
  753. {
  754. #ifdef SDK_V15
  755. if (nChan>=1)
  756. {
  757. GetDlgItem(IDC_CHKCHAN33)->EnableWindow(bFlag);
  758. m_bPreChan1 = m_user.struUser[m_usernum].dwNetPreviewRight & 0x01;
  759. }
  760. if (nChan>=2)
  761. {
  762. GetDlgItem(IDC_CHKCHAN34)->EnableWindow(bFlag);
  763. m_bPreChan2 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 1) & 0x01;
  764. }
  765. if (nChan>=3)
  766. {
  767. GetDlgItem(IDC_CHKCHAN35)->EnableWindow(bFlag);
  768. m_bPreChan3 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 2) & 0x01;
  769. }
  770. if (nChan>=4)
  771. {
  772. GetDlgItem(IDC_CHKCHAN36)->EnableWindow(bFlag);
  773. m_bPreChan4 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 3) & 0x01;
  774. }
  775. if (nChan>=5)
  776. {
  777. GetDlgItem(IDC_CHKCHAN37)->EnableWindow(bFlag);
  778. m_bPreChan5 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 4) & 0x01;
  779. }
  780. if (nChan>=6)
  781. {
  782. GetDlgItem(IDC_CHKCHAN38)->EnableWindow(bFlag);
  783. m_bPreChan6 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 5) & 0x01;
  784. }
  785. if (nChan>=7)
  786. {
  787. GetDlgItem(IDC_CHKCHAN39)->EnableWindow(bFlag);
  788. m_bPreChan7 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 6) & 0x01;
  789. }
  790. if (nChan>=8)
  791. {
  792. GetDlgItem(IDC_CHKCHAN40)->EnableWindow(bFlag);
  793. m_bPreChan8 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 7) & 0x01;
  794. }
  795. if (nChan>=9)
  796. {
  797. GetDlgItem(IDC_CHKCHAN41)->EnableWindow(bFlag);
  798. m_bPreChan9 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 8) & 0x01;
  799. }
  800. if (nChan>=10)
  801. {
  802. GetDlgItem(IDC_CHKCHAN42)->EnableWindow(bFlag);
  803. m_bPreChan10 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 9) & 0x01;
  804. }
  805. if (nChan>=11)
  806. {
  807. GetDlgItem(IDC_CHKCHAN43)->EnableWindow(bFlag);
  808. m_bPreChan11 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 10) & 0x01;
  809. }
  810. if (nChan>=12)
  811. {
  812. GetDlgItem(IDC_CHKCHAN44)->EnableWindow(bFlag);
  813. m_bPreChan12 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 11) & 0x01;
  814. }
  815. if (nChan>=13)
  816. {
  817. GetDlgItem(IDC_CHKCHAN45)->EnableWindow(bFlag);
  818. m_bPreChan13 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 12) & 0x01;
  819. }
  820. if (nChan>=14)
  821. {
  822. GetDlgItem(IDC_CHKCHAN46)->EnableWindow(bFlag);
  823. m_bPreChan14 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 13) & 0x01;
  824. }
  825. if (nChan>=15)
  826. {
  827. GetDlgItem(IDC_CHKCHAN47)->EnableWindow(bFlag);
  828. m_bPreChan15 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 14) & 0x01;
  829. }
  830. if (nChan>=16)
  831. {
  832. GetDlgItem(IDC_CHKCHAN48)->EnableWindow(bFlag);
  833. m_bPreChan16 = (m_user.struUser[m_usernum].dwNetPreviewRight >> 15) & 0x01;
  834. }
  835. #endif
  836. return TRUE;
  837. }
  838. void CRemoteUserCFG::OnChkright23()
  839. {
  840. #ifdef SDK_V15
  841. // TODO: Add your control notification handler code here
  842. UpdateData(TRUE);
  843. F_ShowChan(m_iChannelnumber, m_Right23);
  844. #endif
  845. }
  846. void CRemoteUserCFG::OnChkright3()
  847. {
  848. #ifdef SDK_V15
  849. // TODO: Add your control notification handler code here
  850. UpdateData(TRUE);
  851. F_ShowLocalChan(m_iChannelnumber, m_Right3);
  852. #endif
  853. }
  854. void CRemoteUserCFG::OnChkright28()
  855. {
  856. // TODO: Add your control notification handler code here
  857. #ifdef SDK_V15
  858. // TODO: Add your control notification handler code here
  859. UpdateData(TRUE);
  860. F_ShowPreChan(m_iChannelnumber, m_Right28);
  861. #endif
  862. }