Dlg_Permit.cpp 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618
  1. // Dlg_Permit.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "StoneU_Door.h"
  5. #include "Dlg_Frame.h"
  6. #include "Dlg_Permit.h"
  7. #include ".\dlg_permit.h"
  8. #include "Global.h"
  9. #include "mdlProject.h"
  10. #include "afxcmn.h"
  11. #include "afxwin.h"
  12. // CDlg_Permit 对话框
  13. IMPLEMENT_DYNAMIC(CDlg_Permit, CDialog)
  14. CDlg_Permit::CDlg_Permit(CWnd* pParent /*=NULL*/)
  15. : CDialog(CDlg_Permit::IDD, pParent)
  16. , m_sSta_Show(g_strChooseControl)
  17. {
  18. m_hRoot = NULL;
  19. m_hCurretItem = NULL;
  20. }
  21. CDlg_Permit::~CDlg_Permit()
  22. {
  23. }
  24. void CDlg_Permit::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CDialog::DoDataExchange(pDX);
  27. DDX_Control(pDX, IDC_LIST_SRC, m_ListBox_UserSrc);
  28. DDX_Control(pDX, IDC_LIST_DEST, m_ListBox_UserDes);
  29. DDX_Control(pDX, IDC_LIST_SRC2, m_ListBox_DoorScr);
  30. DDX_Control(pDX, IDC_LIST_DEST2, m_ListBox_DoorDes);
  31. DDX_Control(pDX, IDC_TREE_DOOR, m_Tree_Door);
  32. DDX_Text(pDX, IDC_STA_SHOW, m_sSta_Show);
  33. DDX_Control(pDX, IDC_BTN_SEL_SINGLE, m_Btn_ChooseOne);
  34. DDX_Control(pDX, IDC_BTN_SEL_ALL, m_Btn_ChooseAll);
  35. DDX_Control(pDX, IDC_BTN_REVERSE_SEL_SINGLE, m_Btn_NotChooseOne);
  36. DDX_Control(pDX, IDC_BTN_REVERSE_SEL_ALL, m_Btn_NotChooseAll);
  37. DDX_Control(pDX, IDC_BTN_CHOOSEDATE, m_Btn_ChooseDate);
  38. DDX_Control(pDX, IDC_BTN_ENABLE, m_Btn_SendPermit);
  39. DDX_Control(pDX, IDC_BTN_SEL_SINGLE2, m_Btn_ChooseOneDoor);
  40. DDX_Control(pDX, IDC_BTN_SEL_ALL2, m_Btn_ChooseAllDoor);
  41. DDX_Control(pDX, IDC_BTN_REVERSE_SEL_SINGLE2, m_Btn_NotChooseOneDoor);
  42. DDX_Control(pDX, IDC_BTN_REVERSE_SEL_ALL2, m_Btn_NotChooseAllDoor);
  43. }
  44. BEGIN_MESSAGE_MAP(CDlg_Permit, CDialog)
  45. ON_BN_CLICKED(IDC_BTN_SEL_SINGLE, OnBnClickedBtnSelSingle)
  46. ON_BN_CLICKED(IDC_BTN_SEL_ALL, OnBnClickedBtnSelAll)
  47. ON_BN_CLICKED(IDC_BTN_REVERSE_SEL_SINGLE, OnBnClickedBtnReverseSelSingle)
  48. ON_BN_CLICKED(IDC_BTN_REVERSE_SEL_ALL, OnBnClickedBtnReverseSelAll)
  49. ON_BN_CLICKED(IDC_BTN_SEL_SINGLE2, OnBnClickedBtnSelSingle2)
  50. ON_BN_CLICKED(IDC_BTN_SEL_ALL2, OnBnClickedBtnSelAll2)
  51. ON_BN_CLICKED(IDC_BTN_REVERSE_SEL_SINGLE2, OnBnClickedBtnReverseSelSingle2)
  52. ON_BN_CLICKED(IDC_BTN_REVERSE_SEL_ALL2, OnBnClickedBtnReverseSelAll2)
  53. ON_BN_CLICKED(IDC_BTN_ENABLE, OnBnClickedBtnEnable)
  54. ON_BN_CLICKED(IDC_BTN_DISABLE, OnBnClickedBtnDisable)
  55. ON_WM_CTLCOLOR()
  56. ON_WM_ERASEBKGND()
  57. ON_BN_CLICKED(IDC_BTN_CHOOSEDATE, OnBnClickedBtnChoosedate)
  58. ON_NOTIFY(NM_DBLCLK, IDC_TREE_DOOR, OnNMDblclkTreeDoor)
  59. END_MESSAGE_MAP()
  60. // CDlg_Permit 消息处理程序
  61. BOOL CDlg_Permit::OnInitDialog()
  62. {
  63. CDialog::OnInitDialog();
  64. // TODO: 在此添加额外的初始化
  65. InitTreeInfo();
  66. //ADOCtrl.ReadPermit( &m_ListBox_UserDes,&m_ListBox_DoorDes );
  67. //ADOCtrl.ReadUserCanChoose( &m_ListBox_UserSrc,&m_ListBox_UserDes );
  68. //ADOCtrl.ReadDoorCanChoose( &m_ListBox_DoorScr,&m_ListBox_DoorDes );
  69. return TRUE; // return TRUE unless you set the focus to a control
  70. // 异常: OCX 属性页应返回 FALSE
  71. }
  72. void CDlg_Permit::InitTreeInfo(void)
  73. {
  74. m_sSta_Show = g_strChooseControl;
  75. UpdateData( false );
  76. m_hRoot = NULL;
  77. m_hCurretItem = NULL;
  78. m_ListBox_UserSrc.ResetContent();
  79. m_ListBox_UserDes.ResetContent();
  80. m_ListBox_DoorScr.ResetContent();
  81. m_ListBox_DoorDes.ResetContent();
  82. m_Btn_SendPermit.EnableWindow( false );
  83. m_Tree_Door.ModifyStyle(0, TVS_HASBUTTONS | TVS_LINESATROOT
  84. | TVS_HASLINES | TVS_DISABLEDRAGDROP
  85. | TVS_SHOWSELALWAYS);
  86. m_Tree_Door.DeleteAllItems();
  87. m_Tree_Door.SetItemHeight(20);
  88. m_wndImageList.DeleteImageList();
  89. m_wndImageList.Create(IDB_CONTROL, 16, 1, RGB(255, 0, 255));
  90. m_Tree_Door.SetImageList(&m_wndImageList, LVSIL_NORMAL);
  91. ////插入串口和设备
  92. m_hRoot = m_Tree_Door.InsertItem(g_strAllController, 0, 0);
  93. for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
  94. {
  95. if( g_Controller[i].nID>=0 )
  96. {
  97. if( g_Controller[i].sName!="" )
  98. m_Tree_Door.InsertItem( g_Controller[i].sName,0,0,m_hRoot);
  99. }
  100. }
  101. //CDBInterface::GetInstancePtr()->GetAllGroupToTree( &m_wndTree, m_hRoot );
  102. //展开树
  103. m_Tree_Door.Expand(m_Tree_Door.GetRootItem(),TVE_EXPAND);
  104. HTREEITEM handleTreeItem = m_Tree_Door.GetRootItem();
  105. while(handleTreeItem)
  106. {
  107. handleTreeItem = m_Tree_Door.GetChildItem(handleTreeItem);
  108. m_Tree_Door.Expand(handleTreeItem, TVE_EXPAND);
  109. }
  110. }
  111. void CDlg_Permit::SetPos( CRect rect )
  112. {
  113. CRect rc1;
  114. rc1.left = 0;
  115. rc1.right = rc1.left+rect.Width();
  116. rc1.top = 0;
  117. rc1.bottom = rc1.top+rect.Height()-4;
  118. this->MoveWindow( rc1 );
  119. CRect rcTree;
  120. rcTree.left = 10;
  121. rcTree.right = rcTree.left + 200;
  122. rcTree.top = 10;
  123. rcTree.bottom = rc1.bottom-0;
  124. GetDlgItem(IDC_TREE_DOOR)->MoveWindow( rcTree );
  125. CRect rcShow;
  126. rcShow.left = rcTree.right+10;
  127. rcShow.right = rc1.right-10;
  128. rcShow.top = 10;
  129. rcShow.bottom = rc1.bottom-0;
  130. GetDlgItem(IDC_STA_SHOW)->MoveWindow( rcShow );
  131. CRect rcBtnEnable;
  132. rcBtnEnable.right = rcShow.right-20;
  133. rcBtnEnable.left = rcBtnEnable.right-200;
  134. rcBtnEnable.bottom = rcShow.bottom-10;
  135. rcBtnEnable.top = rcBtnEnable.bottom-25;
  136. GetDlgItem(IDC_BTN_ENABLE)->MoveWindow( rcBtnEnable );
  137. int W = int( float(rcShow.Width()-60)/2 );
  138. CRect rcBig1;
  139. rcBig1.left = rcShow.left+20;
  140. rcBig1.right = rcBig1.left + W;
  141. rcBig1.top = rcShow.top+40;
  142. rcBig1.bottom = rcBtnEnable.top-20;
  143. GetDlgItem(IDC_STATIC5)->MoveWindow( rcBig1 );
  144. CRect rcBig2;
  145. rcBig2.right = rcShow.right-20;
  146. rcBig2.left = rcBig2.right-W;
  147. rcBig2.top = rcShow.top+40;
  148. rcBig2.bottom = rcBtnEnable.top-20;
  149. GetDlgItem(IDC_STATIC6)->MoveWindow( rcBig2 );
  150. //
  151. CRect rcBtnSingle2;
  152. rcBtnSingle2.left = rcBig1.left+rcBig1.Width()/2-15;
  153. rcBtnSingle2.right = rcBtnSingle2.left+30;
  154. rcBtnSingle2.top = rcBig1.top+100;
  155. rcBtnSingle2.bottom = rcBtnSingle2.top+30;
  156. GetDlgItem(IDC_BTN_SEL_SINGLE2)->MoveWindow( rcBtnSingle2 );
  157. CRect rcBtnAll2;
  158. rcBtnAll2.left = rcBtnSingle2.left;
  159. rcBtnAll2.right = rcBtnSingle2.right;
  160. rcBtnAll2.top = rcBtnSingle2.bottom+2;
  161. rcBtnAll2.bottom = rcBtnAll2.top+30;
  162. GetDlgItem(IDC_BTN_SEL_ALL2)->MoveWindow( rcBtnAll2 );
  163. CRect rcBtnNotSingle2;
  164. rcBtnNotSingle2.left = rcBtnSingle2.left;
  165. rcBtnNotSingle2.right = rcBtnSingle2.right;
  166. rcBtnNotSingle2.top = rcBtnAll2.bottom+2;
  167. rcBtnNotSingle2.bottom = rcBtnNotSingle2.top+30;
  168. GetDlgItem(IDC_BTN_REVERSE_SEL_SINGLE2)->MoveWindow( rcBtnNotSingle2 );
  169. CRect rcBtnNotAll2;
  170. rcBtnNotAll2.left = rcBtnSingle2.left;
  171. rcBtnNotAll2.right = rcBtnSingle2.right;
  172. rcBtnNotAll2.top = rcBtnNotSingle2.bottom+2;
  173. rcBtnNotAll2.bottom = rcBtnNotAll2.top+30;
  174. GetDlgItem(IDC_BTN_REVERSE_SEL_ALL2)->MoveWindow( rcBtnNotAll2 );
  175. CRect rcListSrc2;
  176. rcListSrc2.left = rcBig1.left;
  177. rcListSrc2.right = rcBtnSingle2.left;
  178. rcListSrc2.top = rcBig1.top+6;
  179. rcListSrc2.bottom = rcBig1.bottom-2;
  180. GetDlgItem(IDC_LIST_SRC2)->MoveWindow( rcListSrc2 );
  181. CRect rcListDes2;
  182. rcListDes2.left = rcBtnSingle2.right;
  183. rcListDes2.right = rcBig1.right;
  184. rcListDes2.top = rcBig1.top+6;
  185. rcListDes2.bottom = rcBig1.bottom-2;
  186. GetDlgItem(IDC_LIST_DEST2)->MoveWindow( rcListDes2 );
  187. //
  188. CRect rcBtnSingle;
  189. rcBtnSingle.left = rcBig2.left+rcBig2.Width()/2-15;
  190. rcBtnSingle.right = rcBtnSingle.left+30;
  191. rcBtnSingle.top = rcBig2.top+100;
  192. rcBtnSingle.bottom = rcBtnSingle.top+30;
  193. GetDlgItem(IDC_BTN_SEL_SINGLE)->MoveWindow( rcBtnSingle );
  194. CRect rcBtnAll;
  195. rcBtnAll.left = rcBtnSingle.left;
  196. rcBtnAll.right = rcBtnSingle.right;
  197. rcBtnAll.top = rcBtnSingle.bottom+2;
  198. rcBtnAll.bottom = rcBtnAll.top+30;
  199. GetDlgItem(IDC_BTN_SEL_ALL)->MoveWindow( rcBtnAll );
  200. CRect rcBtnNotSingle;
  201. rcBtnNotSingle.left = rcBtnSingle.left;
  202. rcBtnNotSingle.right = rcBtnSingle.right;
  203. rcBtnNotSingle.top = rcBtnAll.bottom+2;
  204. rcBtnNotSingle.bottom = rcBtnNotSingle.top+30;
  205. GetDlgItem(IDC_BTN_REVERSE_SEL_SINGLE)->MoveWindow( rcBtnNotSingle );
  206. CRect rcBtnNotAll;
  207. rcBtnNotAll.left = rcBtnSingle.left;
  208. rcBtnNotAll.right = rcBtnSingle.right;
  209. rcBtnNotAll.top = rcBtnNotSingle.bottom+2;
  210. rcBtnNotAll.bottom = rcBtnNotAll.top+30;
  211. GetDlgItem(IDC_BTN_REVERSE_SEL_ALL)->MoveWindow( rcBtnNotAll );
  212. CRect rcListSrc;
  213. rcListSrc.left = rcBig2.left;
  214. rcListSrc.right = rcBtnSingle.left;
  215. rcListSrc.top = rcBig2.top+6;
  216. rcListSrc.bottom = rcBig2.bottom-2;
  217. GetDlgItem(IDC_LIST_SRC)->MoveWindow( rcListSrc );
  218. CRect rcListDes;
  219. rcListDes.left = rcBtnSingle.right;
  220. rcListDes.right = rcBig2.right;
  221. rcListDes.top = rcBig2.top+6;
  222. rcListDes.bottom = rcBig2.bottom-2;
  223. GetDlgItem(IDC_LIST_DEST)->MoveWindow( rcListDes );
  224. CRect rcSta3;
  225. rcSta3.left = rcListSrc2.left;
  226. rcSta3.right = rcSta3.left + 75;
  227. rcSta3.bottom = rcListSrc2.top-2;
  228. rcSta3.top = rcSta3.bottom-15;
  229. GetDlgItem(IDC_STATIC3)->MoveWindow( rcSta3 );
  230. CRect rcSta4;
  231. rcSta4.left = rcListDes2.left;
  232. rcSta4.right = rcSta4.left + 75;
  233. rcSta4.bottom = rcListDes2.top-2;
  234. rcSta4.top = rcSta4.bottom-15;
  235. GetDlgItem(IDC_STATIC4)->MoveWindow( rcSta4 );
  236. CRect rcSta1;
  237. rcSta1.left = rcListSrc.left;
  238. rcSta1.right = rcSta1.left + 75;
  239. rcSta1.bottom = rcListSrc.top-2;
  240. rcSta1.top = rcSta1.bottom-15;
  241. GetDlgItem(IDC_STATIC1)->MoveWindow( rcSta1 );
  242. CRect rcSta2;
  243. rcSta2.left = rcListDes.left;
  244. rcSta2.right = rcSta2.left + 75;
  245. rcSta2.bottom = rcListDes.top-2;
  246. rcSta2.top = rcSta2.bottom-15;
  247. GetDlgItem(IDC_STATIC2)->MoveWindow( rcSta2 );
  248. }
  249. void CDlg_Permit::OnBnClickedBtnSelSingle()
  250. {
  251. CString str;
  252. int nCount, i, nIndex = 0;
  253. CArray<int,int> arrayListSel;
  254. nCount = m_ListBox_UserSrc.GetSelCount();
  255. arrayListSel.SetSize( nCount );
  256. m_ListBox_UserSrc.GetSelItems( nCount, arrayListSel.GetData() );
  257. for( i = 0; i < nCount; i++ )
  258. {
  259. m_ListBox_UserSrc.GetText( arrayListSel[i] - nIndex, str );
  260. m_ListBox_UserSrc.DeleteString( arrayListSel[i] - nIndex );
  261. m_ListBox_UserSrc.SetSel( arrayListSel[i] - nIndex, FALSE );
  262. m_ListBox_UserDes.AddString( str );
  263. nIndex++;
  264. }
  265. }
  266. void CDlg_Permit::OnBnClickedBtnSelAll()
  267. {
  268. CString str;
  269. int i, nCount, nIndex = 0;
  270. nCount = m_ListBox_UserSrc.GetCount();
  271. for( i = 0; i < nCount; i++ )
  272. {
  273. m_ListBox_UserSrc.GetText( i - nIndex, str );
  274. m_ListBox_UserSrc.DeleteString( i - nIndex );
  275. m_ListBox_UserDes.AddString( str );
  276. nIndex++;
  277. }
  278. }
  279. void CDlg_Permit::OnBnClickedBtnReverseSelSingle()
  280. {
  281. CString str;
  282. int nCount, i, nIndex = 0;
  283. CArray<int,int> arrayListSel;
  284. nCount = m_ListBox_UserDes.GetSelCount();
  285. arrayListSel.SetSize( nCount );
  286. m_ListBox_UserDes.GetSelItems( nCount, arrayListSel.GetData() );
  287. for( i = 0; i < nCount; i++ )
  288. {
  289. m_ListBox_UserDes.GetText( arrayListSel[i] - nIndex, str );
  290. m_ListBox_UserDes.DeleteString( arrayListSel[i] - nIndex );
  291. m_ListBox_UserDes.SetSel( arrayListSel[i] - nIndex, FALSE );
  292. m_ListBox_UserSrc.AddString( str );
  293. nIndex++;
  294. }
  295. }
  296. void CDlg_Permit::OnBnClickedBtnReverseSelAll()
  297. {
  298. CString str;
  299. int i, nCount, nIndex = 0;
  300. nCount = m_ListBox_UserDes.GetCount();
  301. for( i = 0; i < nCount; i++ )
  302. {
  303. m_ListBox_UserDes.GetText( i - nIndex, str );
  304. m_ListBox_UserDes.DeleteString( i - nIndex );
  305. m_ListBox_UserSrc.AddString( str );
  306. nIndex++;
  307. }
  308. }
  309. void CDlg_Permit::OnBnClickedBtnSelSingle2()
  310. {
  311. CString str;
  312. int nCount, i, nIndex = 0;
  313. CArray<int,int> arrayListSel;
  314. nCount = m_ListBox_DoorScr.GetSelCount();
  315. arrayListSel.SetSize( nCount );
  316. m_ListBox_DoorScr.GetSelItems( nCount, arrayListSel.GetData() );
  317. for( i = 0; i < nCount; i++ )
  318. {
  319. m_ListBox_DoorScr.GetText( arrayListSel[i] - nIndex, str );
  320. m_ListBox_DoorScr.DeleteString( arrayListSel[i] - nIndex );
  321. m_ListBox_DoorScr.SetSel( arrayListSel[i] - nIndex, FALSE );
  322. m_ListBox_DoorDes.AddString( str );
  323. nIndex++;
  324. }
  325. }
  326. void CDlg_Permit::OnBnClickedBtnSelAll2()
  327. {
  328. CString str;
  329. int i, nCount, nIndex = 0;
  330. nCount = m_ListBox_DoorScr.GetCount();
  331. for( i = 0; i < nCount; i++ )
  332. {
  333. m_ListBox_DoorScr.GetText( i - nIndex, str );
  334. m_ListBox_DoorScr.DeleteString( i - nIndex );
  335. m_ListBox_DoorDes.AddString( str );
  336. nIndex++;
  337. }
  338. }
  339. void CDlg_Permit::OnBnClickedBtnReverseSelSingle2()
  340. {
  341. CString str;
  342. int nCount, i, nIndex = 0;
  343. CArray<int,int> arrayListSel;
  344. nCount = m_ListBox_DoorDes.GetSelCount();
  345. arrayListSel.SetSize( nCount );
  346. m_ListBox_DoorDes.GetSelItems( nCount, arrayListSel.GetData() );
  347. for( i = 0; i < nCount; i++ )
  348. {
  349. m_ListBox_DoorDes.GetText( arrayListSel[i] - nIndex, str );
  350. m_ListBox_DoorDes.DeleteString( arrayListSel[i] - nIndex );
  351. m_ListBox_DoorDes.SetSel( arrayListSel[i] - nIndex, FALSE );
  352. m_ListBox_DoorScr.AddString( str );
  353. nIndex++;
  354. }
  355. }
  356. void CDlg_Permit::OnBnClickedBtnReverseSelAll2()
  357. {
  358. CString str;
  359. int i, nCount, nIndex = 0;
  360. nCount = m_ListBox_DoorDes.GetCount();
  361. for( i = 0; i < nCount; i++ )
  362. {
  363. m_ListBox_DoorDes.GetText( i - nIndex, str );
  364. m_ListBox_DoorDes.DeleteString( i - nIndex );
  365. m_ListBox_DoorScr.AddString( str );
  366. nIndex++;
  367. }
  368. }
  369. void CDlg_Permit::OnBnClickedBtnEnable()
  370. {
  371. //初始化卡与门的对应
  372. for( int nControllerIndex=0;nControllerIndex<CONCTROLLER_NUM_MAX;nControllerIndex++ )
  373. {
  374. if( g_Controller[nControllerIndex].nID>=0 && g_Controller[nControllerIndex].sName==m_sCurrentControlName )
  375. {
  376. for( int m=1;m<9;m++ )
  377. g_Controller[nControllerIndex].Card2Door[m].nCardCount = 0;
  378. break;
  379. }
  380. }
  381. CString str;
  382. int nUserCount = m_ListBox_UserDes.GetCount();
  383. int nDoorCount = m_ListBox_DoorDes.GetCount();
  384. //int nDoorIndex=0;
  385. //CString sControllerName,sDoorName;
  386. //for( int i = 0; i < nDoorCount; i++ )
  387. //{
  388. // //m_ListBox_DoorDes.GetText( i, str );
  389. // //sDoorName = str;
  390. // for( int nControllerIndex=0;nControllerIndex<CONCTROLLER_NUM_MAX;nControllerIndex++ )
  391. // {
  392. // if( g_Controller[nControllerIndex].nID>=0 && g_Controller[nControllerIndex].sName==m_sCurrentControlName )
  393. // {
  394. // //if( g_Controller[nControllerIndex].sDoor[1]==sDoorName )
  395. // nDoorIndex = 1;
  396. // //else if( g_Controller[nControllerIndex].sDoor[2]==sDoorName )
  397. // // nDoorIndex = 2;
  398. // //else if( g_Controller[nControllerIndex].sDoor[3]==sDoorName )
  399. // // nDoorIndex = 3;
  400. // //else if( g_Controller[nControllerIndex].sDoor[4]==sDoorName )
  401. // // nDoorIndex = 4;
  402. // for( int nUserIndex = 0; nUserIndex < nUserCount; nUserIndex++ )
  403. // {
  404. // m_ListBox_UserDes.GetText( nUserIndex, str );
  405. // long lCardNumber=0;
  406. // CString sClass,sJobNumber,sRemarks;
  407. // g_GetCardInfoByUserName( str,lCardNumber,sClass,sJobNumber,sRemarks );
  408. // g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardNum[g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardCount] = lCardNumber;
  409. // g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardCount++;
  410. // }
  411. // break;
  412. // }
  413. // }
  414. //}
  415. ////排序卡号
  416. //int nC2DSize=0;
  417. //for( int nControllerIndex=0;nControllerIndex<CONCTROLLER_NUM_MAX;nControllerIndex++ )
  418. //{
  419. // if( g_Controller[nControllerIndex].nID>=0 && g_Controller[nControllerIndex].sName==m_sCurrentControlName )
  420. // {
  421. // for( int nDoorIndex=1;nDoorIndex<9;nDoorIndex++ )
  422. // {
  423. // int nCardCount = g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardCount;
  424. // if( nCardCount>0 )
  425. // {
  426. // for( int i=0;i<nCardCount;i++ )
  427. // {
  428. // for( int k=i+1;k<nCardCount;k++ )
  429. // {
  430. // if( g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardNum[i]>g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardNum[k] )
  431. // {
  432. // long temp;
  433. // temp = g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardNum[i];
  434. // g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardNum[i] = g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardNum[k];
  435. // g_Controller[nControllerIndex].Card2Door[nDoorIndex].nCardNum[k] = temp;
  436. // }
  437. // }
  438. // }
  439. // }
  440. // }
  441. // break;
  442. // }
  443. //}
  444. //提交权限
  445. g_Controller[nControllerIndex].nOperterType = OPERATE_Permit;
  446. g_pDlgMain->m_pThread_Controller[nControllerIndex]->m_Controller = g_Controller[nControllerIndex];
  447. //ADOCtrl.DelPermitByControlName( m_sCurrentControlName );
  448. //CString sUser,sDoor;
  449. //for( int nUserIndex = 0; nUserIndex < nUserCount; nUserIndex++ )
  450. //{
  451. // m_ListBox_UserDes.GetText( nUserIndex, sUser );
  452. // for( int nDoorIndex = 0; nDoorIndex < nDoorCount; nDoorIndex++ )
  453. // {
  454. // //m_ListBox_DoorDes.GetText( nDoorIndex, sDoor );
  455. // ADOCtrl.InsertPermit( m_sCurrentControlName,sUser,"",2 );
  456. // }
  457. //}
  458. //MessageBox( g_strSendPermitOK, g_strTip, MB_ICONINFORMATION);
  459. }
  460. void CDlg_Permit::OnBnClickedBtnDisable()
  461. {
  462. // TODO: 在此添加控件通知处理程序代码
  463. }
  464. HBRUSH CDlg_Permit::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
  465. {
  466. HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
  467. // TODO: 在此更改 DC 的任何属性
  468. int nID = pWnd->GetDlgCtrlID();
  469. //HBRUSH B1 = CreateSolidBrush( g_ColorGround );
  470. HBRUSH B1 = CreateSolidBrush( g_Color3 );
  471. if(nID == IDC_STA_SHOW)
  472. {
  473. // pOldFont = pDC->SelectObject(&m_font1);
  474. pDC->SetTextColor(RGB( 255,0,0));
  475. pDC->SetBkMode( TRANSPARENT );
  476. //pDC->SelectObject(pOldFont);
  477. DeleteObject(B1);
  478. return B1;
  479. }
  480. if(nCtlColor == CTLCOLOR_STATIC)
  481. {
  482. // pOldFont = pDC->SelectObject(&m_font1);
  483. pDC->SetTextColor(RGB(0, 0, 0));
  484. pDC->SetBkMode( TRANSPARENT );
  485. //pDC->SelectObject(pOldFont);
  486. DeleteObject(B1);
  487. return B1;
  488. }
  489. DeleteObject(B1);
  490. // TODO: 如果默认的不是所需画笔,则返回另一个画笔
  491. return hbr;
  492. }
  493. BOOL CDlg_Permit::OnEraseBkgnd(CDC* pDC)
  494. {
  495. CBrush br1;
  496. CRect rect;
  497. GetWindowRect(&rect);
  498. ScreenToClient(&rect);
  499. br1.CreateSolidBrush(g_Color3);
  500. pDC->FillRect(rect,&br1);
  501. DeleteObject( br1 );
  502. return TRUE;
  503. //return CDialog::OnEraseBkgnd(pDC);
  504. }
  505. void CDlg_Permit::OnBnClickedBtnChoosedate()
  506. {
  507. // TODO: 在此添加控件通知处理程序代码
  508. }
  509. void CDlg_Permit::OnNMDblclkTreeDoor(NMHDR *pNMHDR, LRESULT *pResult)
  510. {
  511. // TODO: 在此添加控件通知处理程序代码
  512. HTREEITEM hSelectedItem = m_Tree_Door.GetSelectedItem();
  513. HTREEITEM hParent = m_Tree_Door.GetParentItem( hSelectedItem );
  514. int nGroupID = 0;
  515. CString str;
  516. if( hParent && m_hCurretItem!=hSelectedItem )
  517. {
  518. str = m_Tree_Door.GetItemText( hSelectedItem );
  519. m_sSta_Show = str;
  520. m_sCurrentControlName = str;
  521. m_hCurretItem = hSelectedItem;
  522. UpdateData( false );
  523. //* ADOCtrl.ReadPermit( str,&m_ListBox_DoorDes,&m_ListBox_UserDes );
  524. //* ADOCtrl.ReadUserCanChoose( &m_ListBox_UserSrc,&m_ListBox_UserDes );
  525. //* ADOCtrl.ReadDoorCanChoose( str,&m_ListBox_DoorScr,&m_ListBox_DoorDes );
  526. bool bFlag=false;
  527. for( int i=0;i<CONCTROLLER_NUM_MAX;i++ )
  528. {
  529. if( g_pDlgMain->m_pThread_Controller[i] )
  530. {
  531. if( !g_pDlgMain->m_pThread_Controller[i]->m_bExitFinish && g_pDlgMain->m_pThread_Controller[i]->m_Controller.sName==str)
  532. {
  533. bFlag = true;
  534. break;
  535. }
  536. }
  537. }
  538. if( bFlag )
  539. m_Btn_SendPermit.EnableWindow( true );
  540. else
  541. m_Btn_SendPermit.EnableWindow( false );
  542. }
  543. *pResult = 0;
  544. }