DlgShowNetShareInfo.cpp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686
  1. // DlgShowNetShareInfo.cpp : 实现文件
  2. //
  3. #include "stdafx.h"
  4. #include "DBServer.h"
  5. #include "DlgShowNetShareInfo.h"
  6. //#include "MultiBranchInfo.h"
  7. #include "BranchInfo.h"
  8. #define INSER_NETSHARE _T("INSERT INTO [NetShareInfo]([enable],[branchid],[sharePath],[mincapacity],[maxcapacity],[photoType],[priority])\
  9. VALUES(%d,'%s','%s',%d,%d,%d,%d)")
  10. #define DELETE_NETSHARE _T("DELETE FROM NetShareInfo WHERE [sharePath] = '%s'")
  11. #define UPDATE_NETSHARE _T("UPDATE [NetShareInfo] SET [enable] = %d,[mincapacity] = %d,[maxcapacity] = %d,[photoType] = %d,[priority] = %d WHERE [branchid] = '%s' and [sharePath] = '%s'")
  12. #define UPDATE_NETSHARE_BRAHCNID _T("UPDATE [NetShareInfo] SET [enable] = %d,[sharePath] = '%s',[mincapacity] = %d,[maxcapacity] = %d,[photoType] = %d,[priority] = %d WHERE [branchid] = '%s' and [sharePath] = '%s'")
  13. #define UPDATE_NETSHARE_DIRECTORY _T("UPDATE [NetShareInfo] SET [enable] = %d,[branchid] = '%s',[mincapacity] = %d,[maxcapacity] = %d,[photoType] = %d,[priority] = %d WHERE [branchid] = '%s' and [sharePath] = '%s'")
  14. // CDlgShowNetShareInfo 对话框
  15. IMPLEMENT_DYNAMIC(CDlgShowNetShareInfo, CDialog)
  16. CDlgShowNetShareInfo::CDlgShowNetShareInfo(CWnd* pParent /*=NULL*/)
  17. : CDialog(CDlgShowNetShareInfo::IDD, pParent)
  18. , m_strbranchid(_T(""))
  19. , m_strsharedirectory(_T(""))
  20. , m_nDiskSafeCapacity(0)
  21. , m_nDiskChangeCapacity(0)
  22. , m_nPriority(0)
  23. {
  24. m_nCurSel = -1;
  25. m_bItemChang = FALSE;
  26. }
  27. CDlgShowNetShareInfo::~CDlgShowNetShareInfo()
  28. {
  29. }
  30. void CDlgShowNetShareInfo::DoDataExchange(CDataExchange* pDX)
  31. {
  32. CDialog::DoDataExchange(pDX);
  33. DDX_Control(pDX, LIST_NETSHAREINFO, m_list);
  34. DDX_Control(pDX, COB_PHOTOTYPE, m_cob);
  35. DDX_Text(pDX, EDT_BRANCHNAME, m_strbranchid);
  36. DDX_Text(pDX, EDT_SHAREDIRECTORY, m_strsharedirectory);
  37. DDX_Text(pDX, EDT_ENABLECAPACITY, m_nDiskSafeCapacity);
  38. DDV_MinMaxInt(pDX, m_nDiskSafeCapacity, 5, 1000);
  39. DDX_Text(pDX, EDT_CHANGECAPACITY, m_nDiskChangeCapacity);
  40. DDV_MinMaxInt(pDX, m_nDiskChangeCapacity, 35, 1000);
  41. DDX_Text(pDX, EDT_PRIORITY, m_nPriority);
  42. DDV_MinMaxInt(pDX, m_nPriority, 1, 255);
  43. }
  44. BEGIN_MESSAGE_MAP(CDlgShowNetShareInfo, CDialog)
  45. ON_BN_CLICKED(Btn_AddNetShareInfo, &CDlgShowNetShareInfo::OnBnClickedAddnetshareinfo)
  46. ON_BN_CLICKED(Btn_Save, &CDlgShowNetShareInfo::OnBnClickedSave)
  47. ON_EN_CHANGE(EDT_BRANCHNAME, &CDlgShowNetShareInfo::OnEnChangeBranchname)
  48. ON_EN_CHANGE(EDT_SHAREDIRECTORY, &CDlgShowNetShareInfo::OnEnChangeSharedirectory)
  49. ON_EN_CHANGE(EDT_ENABLECAPACITY, &CDlgShowNetShareInfo::OnEnChangeEnablecapacity)
  50. ON_EN_CHANGE(EDT_CHANGECAPACITY, &CDlgShowNetShareInfo::OnEnChangeChangecapacity)
  51. ON_EN_CHANGE(EDT_PRIORITY, &CDlgShowNetShareInfo::OnEnChangePriority)
  52. ON_BN_CLICKED(CHK_ENABLEDIRECTORY, &CDlgShowNetShareInfo::OnBnClickedEnabledirectory)
  53. ON_CBN_SELCHANGE(COB_PHOTOTYPE, &CDlgShowNetShareInfo::OnCbnSelchangePhototype)
  54. ON_NOTIFY(NM_CLICK, LIST_NETSHAREINFO, &CDlgShowNetShareInfo::OnNMClickNetshareinfo)
  55. ON_BN_CLICKED(BTN_DELETE, &CDlgShowNetShareInfo::OnBnClickedDelete)
  56. END_MESSAGE_MAP()
  57. // CDlgShowNetShareInfo 消息处理程序
  58. BOOL CDlgShowNetShareInfo::OnInitDialog()
  59. {
  60. CDialog::OnInitDialog();
  61. if ( !CBranchInfo::GetInstance() )
  62. {
  63. AfxMessageBox(_T("内存分配错误"));
  64. return FALSE;
  65. }
  66. if ( !CBranchInfo::GetInstance()->InitCatalog(g_dwDBServerPort, g_szDBSource, g_szDBAccount, g_szDBPassWord, g_szDBName) )
  67. {
  68. AfxMessageBox(_T("初始化数据库连接对象失败"));
  69. return FALSE;
  70. }
  71. if ( !CBranchInfo::GetInstance()->GetTblNetShareInfo() )
  72. {
  73. return FALSE;
  74. }
  75. ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->SetCheck(TRUE);
  76. SetDlgItemText(EDT_ENABLECAPACITY,_T("5"));
  77. SetDlgItemText(EDT_CHANGECAPACITY,_T("35"));
  78. SetDlgItemText(EDT_BRANCHNAME,g_sdomain);
  79. //SetDlgItemInt(EDT_PRIORITY,254);
  80. int nMaxPriority = 254;
  81. TblNetShareInfo *pNetShareInfo = NULL;
  82. for ( CBranchInfo::NETSHAREINFO::iterator it = CBranchInfo::GetInstance()->m_TblNetShareInfo.begin(); it != CBranchInfo::GetInstance()->m_TblNetShareInfo.end();it++)
  83. {
  84. pNetShareInfo = *it;
  85. if ( nMaxPriority == pNetShareInfo->byPriority )
  86. {
  87. --nMaxPriority;
  88. }
  89. }
  90. SetDlgItemInt(EDT_PRIORITY,nMaxPriority);
  91. // TODO: 在此添加额外的初始化
  92. InitCobCtrl();
  93. InitListCtrl();
  94. FillDataIntoList();
  95. return TRUE; // return TRUE unless you set the focus to a control
  96. // 异常: OCX 属性页应返回 FALSE
  97. }
  98. BOOL CDlgShowNetShareInfo::DestroyWindow()
  99. {
  100. // TODO: 在此添加专用代码和/或调用基类
  101. return CDialog::DestroyWindow();
  102. }
  103. void CDlgShowNetShareInfo::OnOK()
  104. {
  105. // TODO: 在此添加专用代码和/或调用基类
  106. //CDialog::OnOK();
  107. }
  108. void CDlgShowNetShareInfo::OnCancel()
  109. {
  110. // TODO: 在此添加专用代码和/或调用基类
  111. CDialog::OnCancel();
  112. }
  113. void CDlgShowNetShareInfo::OnBnClickedAddnetshareinfo()
  114. {
  115. // TODO: 在此添加控件通知处理程序代码
  116. UpdateData();
  117. if ( m_strsharedirectory.IsEmpty() )
  118. {
  119. AfxMessageBox(_T("共享目录不能为空!"));
  120. return;
  121. }
  122. if ( m_strbranchid.IsEmpty() )
  123. {
  124. AfxMessageBox(_T("域名不能为空!"));
  125. return;
  126. }
  127. if ( m_nPriority == 255 )
  128. {
  129. return;
  130. }
  131. CString strSQL = _T("");
  132. BOOL bCheck = ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->GetCheck();
  133. strSQL.Format(INSER_NETSHARE,bCheck,m_strbranchid,m_strsharedirectory,m_nDiskSafeCapacity,m_nDiskChangeCapacity,m_cob.GetCurSel()+1,m_nPriority);
  134. //if ( CMultiBranchInfo::GetInstance()->GetOurBranchObj()->Execute(strSQL))
  135. if ( CBranchInfo::GetInstance()->Execute(strSQL))
  136. {
  137. m_bItemChang = FALSE;
  138. int nSubItem = 0;
  139. int nCount = m_list.GetItemCount();
  140. m_list.InsertItem(nCount,_T(""));
  141. m_list.SetItemText(nCount,nSubItem++,bCheck ? _T("启用") : _T("禁用"));
  142. m_list.SetItemText(nCount,nSubItem++,m_strbranchid);
  143. m_list.SetItemText(nCount,nSubItem++,m_strsharedirectory);
  144. CString strTemp;
  145. strTemp.Format(_T("%d"),m_nDiskSafeCapacity);
  146. m_list.SetItemText(nCount,nSubItem++,strTemp);
  147. strTemp.Format(_T("%d"),m_nDiskChangeCapacity);
  148. m_list.SetItemText(nCount,nSubItem++,strTemp);
  149. m_cob.GetLBText(m_cob.GetCurSel(),strTemp);
  150. m_list.SetItemText(nCount,nSubItem++,strTemp);
  151. strTemp.Format(_T("%d"),m_nPriority);
  152. m_list.SetItemText(nCount,nSubItem++,strTemp);
  153. AfxMessageBox(_T("添加成功!"));
  154. CBranchInfo::GetInstance()->GetTblNetShareInfo(); // 添加完成后,重新获取NetShareInfo表;
  155. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow(FALSE);
  156. }
  157. else
  158. {
  159. AfxMessageBox(_T("添加失败!"));
  160. }
  161. // 再重置当前对话框;
  162. #if 0
  163. SetDlgItemText(EDT_ENABLECAPACITY,_T("5"));
  164. SetDlgItemText(EDT_CHANGECAPACITY,_T("35"));
  165. int nMaxPriority = 254;
  166. TblNetShareInfo *pNetShareInfo = NULL;
  167. for ( CBranchInfo::NETSHAREINFO::iterator it = CBranchInfo::GetInstance()->m_TblNetShareInfo.begin(); it != CBranchInfo::GetInstance()->m_TblNetShareInfo.end();it++)
  168. {
  169. pNetShareInfo = *it;
  170. if ( nMaxPriority == pNetShareInfo->byPriority )
  171. {
  172. --nMaxPriority;
  173. }
  174. }
  175. SetDlgItemInt(EDT_PRIORITY,nMaxPriority);
  176. #endif
  177. }
  178. void CDlgShowNetShareInfo::OnBnClickedSave()// 修改;
  179. {
  180. POSITION pos = m_list.GetFirstSelectedItemPosition();
  181. if ( pos != NULL )
  182. {
  183. int nSelectItem = m_list.GetNextSelectedItem(pos);
  184. if ( nSelectItem >= 0 )
  185. {
  186. bool bEnable = false;
  187. CString str, strBranchId, strShareDirectory;
  188. int nImageType = -1, nDisableCapacity = 5, nChangCapacity = 35, nPriority = 255;
  189. str = m_list.GetItemText(nSelectItem, 0);
  190. bEnable = (str == _T("启用") ? true : false);
  191. strBranchId = m_list.GetItemText(nSelectItem, 1);
  192. strShareDirectory = m_list.GetItemText(nSelectItem, 2);
  193. nDisableCapacity = _ttoi(m_list.GetItemText(nSelectItem, 3));
  194. nChangCapacity = _ttoi(m_list.GetItemText(nSelectItem, 4));
  195. str = m_list.GetItemText(nSelectItem, 5);
  196. if ( str == _T("原片"))
  197. nImageType = 0;
  198. else if ( str == _T("初修"))
  199. nImageType = 1;
  200. else if ( str == _T("精修"))
  201. nImageType = 2;
  202. else if ( str == _T("设计"))
  203. nImageType = 3;
  204. nPriority = _ttoi(m_list.GetItemText(nSelectItem, 6));
  205. //////////////////////////////////////////////////////////////////////////
  206. UpdateData();
  207. if ( m_strsharedirectory.IsEmpty() )
  208. {
  209. AfxMessageBox(_T("共享目录不能为空!"));
  210. return;
  211. }
  212. if ( m_strbranchid.IsEmpty() )
  213. {
  214. AfxMessageBox(_T("域名不能为空!"));
  215. return;
  216. }
  217. if ( m_nPriority == 255 )
  218. {
  219. return;
  220. }
  221. CString strSQL = _T("");
  222. BOOL bCheck = ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->GetCheck();
  223. if ( (strBranchId != m_strbranchid) && (strShareDirectory == m_strsharedirectory))
  224. {
  225. // 以共享目录为条件,更新;
  226. strSQL.Format(UPDATE_NETSHARE_DIRECTORY,bCheck,m_strbranchid,m_nDiskSafeCapacity,m_nDiskChangeCapacity,m_cob.GetCurSel()+1,m_nPriority,strBranchId,m_strsharedirectory);
  227. if ( CBranchInfo::GetInstance()->Execute(strSQL))
  228. {
  229. m_bItemChang = FALSE;
  230. int nSubImte = 0;
  231. if( bCheck )
  232. m_list.SetItemText(m_nCurSel,nSubImte++,_T("启用"));
  233. else
  234. m_list.SetItemText(m_nCurSel,nSubImte++,_T("禁用"));
  235. m_list.SetItemText(m_nCurSel,nSubImte++,m_strbranchid);
  236. nSubImte++;
  237. strSQL.Format(_T("%d"),m_nDiskSafeCapacity);
  238. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  239. strSQL.Format(_T("%d"),m_nDiskChangeCapacity);
  240. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  241. m_cob.GetLBText(m_cob.GetCurSel(),strSQL);
  242. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  243. strSQL.Format(_T("%d"),m_nPriority);
  244. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  245. AfxMessageBox(_T("更新成功!"));
  246. CBranchInfo::GetInstance()->GetTblNetShareInfo(); // 修改完成后,重新获取NetShareInfo表;
  247. GetDlgItem(Btn_Save)->EnableWindow(FALSE);
  248. }
  249. }
  250. else if ( (strShareDirectory != m_strsharedirectory) && (strBranchId == m_strbranchid))
  251. {
  252. // 以域名为条件,更新;
  253. strSQL.Format(UPDATE_NETSHARE_BRAHCNID,bCheck,m_strsharedirectory,m_nDiskSafeCapacity,m_nDiskChangeCapacity,m_cob.GetCurSel()+1,m_nPriority,m_strbranchid,strShareDirectory);
  254. if ( CBranchInfo::GetInstance()->Execute(strSQL))
  255. {
  256. m_bItemChang = FALSE;
  257. int nSubImte = 0;
  258. if( bCheck )
  259. m_list.SetItemText(m_nCurSel,nSubImte++,_T("启用"));
  260. else
  261. m_list.SetItemText(m_nCurSel,nSubImte++,_T("禁用"));
  262. nSubImte++;
  263. m_list.SetItemText(m_nCurSel,nSubImte++,m_strsharedirectory);
  264. strSQL.Format(_T("%d"),m_nDiskSafeCapacity);
  265. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  266. strSQL.Format(_T("%d"),m_nDiskChangeCapacity);
  267. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  268. m_cob.GetLBText(m_cob.GetCurSel(),strSQL);
  269. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  270. strSQL.Format(_T("%d"),m_nPriority);
  271. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  272. AfxMessageBox(_T("更新成功!"));
  273. CBranchInfo::GetInstance()->GetTblNetShareInfo(); // 修改完成后,重新获取NetShareInfo表;
  274. GetDlgItem(Btn_Save)->EnableWindow(FALSE);
  275. }
  276. }
  277. else if( (strShareDirectory == m_strsharedirectory) && (strBranchId == m_strbranchid))
  278. {
  279. strSQL.Format(UPDATE_NETSHARE,bCheck,m_nDiskSafeCapacity,m_nDiskChangeCapacity,m_cob.GetCurSel()+1,m_nPriority,m_strbranchid,m_strsharedirectory);
  280. if ( CBranchInfo::GetInstance()->Execute(strSQL))
  281. {
  282. m_bItemChang = FALSE;
  283. int nSubImte = 0;
  284. if( bCheck )
  285. m_list.SetItemText(m_nCurSel,nSubImte++,_T("启用"));
  286. else
  287. m_list.SetItemText(m_nCurSel,nSubImte++,_T("禁用"));
  288. nSubImte += 2;
  289. strSQL.Format(_T("%d"),m_nDiskSafeCapacity);
  290. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  291. strSQL.Format(_T("%d"),m_nDiskChangeCapacity);
  292. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  293. m_cob.GetLBText(m_cob.GetCurSel(),strSQL);
  294. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  295. strSQL.Format(_T("%d"),m_nPriority);
  296. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  297. AfxMessageBox(_T("更新成功!"));
  298. CBranchInfo::GetInstance()->GetTblNetShareInfo(); // 修改完成后,重新获取NetShareInfo表;
  299. GetDlgItem(Btn_Save)->EnableWindow(FALSE);
  300. }
  301. }
  302. else if ( (strShareDirectory != m_strsharedirectory) && (strBranchId != m_strbranchid))
  303. {
  304. AfxMessageBox(_T("更新不能修改域名和共享目录"));
  305. }
  306. UpdateData(FALSE);
  307. }
  308. }
  309. }
  310. void CDlgShowNetShareInfo::InitCobCtrl()
  311. {
  312. m_cob.AddString(_T("原片"));
  313. m_cob.AddString(_T("初修"));
  314. m_cob.AddString(_T("精修"));
  315. m_cob.AddString(_T("设计"));
  316. /*
  317. m_cob.AddString(_T("备份的原片"));
  318. m_cob.AddString(_T("备份的初修"));
  319. m_cob.AddString(_T("备份的精修"));
  320. m_cob.AddString(_T("备份的设计"));
  321. */
  322. m_cob.SetCurSel(0);
  323. }
  324. void CDlgShowNetShareInfo::InitListCtrl()
  325. {
  326. int nIndex = 0;
  327. m_list.InsertColumn(nIndex, _T("启/禁"));
  328. m_list.SetColumnWidth(nIndex++, 60);
  329. m_list.InsertColumn(nIndex, _T("分店域名"));
  330. m_list.SetColumnWidth(nIndex++, 120);
  331. m_list.InsertColumn(nIndex, _T("共享目录"));
  332. m_list.SetColumnWidth(nIndex++, 120);
  333. m_list.InsertColumn(nIndex, _T("硬盘安全容量"));
  334. m_list.SetColumnWidth(nIndex++, 60);
  335. m_list.InsertColumn(nIndex, _T("硬盘更换容量"));
  336. m_list.SetColumnWidth(nIndex++, 60);
  337. m_list.InsertColumn(nIndex, _T("相片类型"));
  338. m_list.SetColumnWidth(nIndex++, 60);
  339. m_list.InsertColumn(nIndex, _T("优先级"));
  340. m_list.SetColumnWidth(nIndex++, 80);
  341. m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
  342. }
  343. void CDlgShowNetShareInfo::FillDataIntoList()
  344. {
  345. m_list.DeleteAllItems();
  346. typedef vector<TblNetShareInfo*> NETSHAREINFO;
  347. //NETSHAREINFO &tagNetShareInfo = CMultiBranchInfo::GetInstance()->GetOurBranchObj()->m_TblNetShareInfo;
  348. NETSHAREINFO &tagNetShareInfo = CBranchInfo::GetInstance()->m_TblNetShareInfo;
  349. int nSize = tagNetShareInfo.size();
  350. if(nSize == 0)return;
  351. CString str;
  352. int nItem = 0,nSubItem = 0;
  353. for ( NETSHAREINFO::const_iterator it = tagNetShareInfo.begin(); it != tagNetShareInfo.end();it++ )
  354. {
  355. nSubItem = 0;
  356. m_list.InsertItem(nItem,_T(""));
  357. if((*it)->bEnable)
  358. m_list.SetItemText(nItem,nSubItem++,_T("启用"));
  359. else
  360. m_list.SetItemText(nItem,nSubItem++,_T("禁用"));
  361. m_list.SetItemText(nItem,nSubItem++,(*it)->szBranchId);
  362. m_list.SetItemText(nItem,nSubItem++,(*it)->szShareDirectory);
  363. str.Format(_T("%d"),(*it)->byMinCapacity);
  364. m_list.SetItemText(nItem,nSubItem++,str);
  365. str.Format(_T("%d"),(*it)->byMaxCapacity);
  366. m_list.SetItemText(nItem,nSubItem++,str);
  367. switch ((*it)->byPhotoType)
  368. {
  369. case 1:
  370. str = _T("原片");
  371. break;
  372. case 2:
  373. str = _T("初修");
  374. break;
  375. case 3:
  376. str = _T("精修");
  377. break;
  378. case 4:
  379. str = _T("设计");
  380. break;
  381. /*case 5:
  382. str = _T("备份的原片");
  383. break;
  384. case 6:
  385. str = _T("备份的初修");
  386. break;
  387. case 7:
  388. str = _T("备份的精修");
  389. break;
  390. case 8:
  391. str = _T("备份的设计");
  392. break;
  393. */
  394. default:
  395. str = _T("错误!");
  396. break;
  397. }
  398. m_list.SetItemText(nItem,nSubItem++,str);
  399. str.Format(_T("%d"),(*it)->byPriority);
  400. m_list.SetItemText(nItem,nSubItem++,str);
  401. nItem++;
  402. }
  403. }
  404. void CDlgShowNetShareInfo::OnEnChangeBranchname()
  405. {
  406. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  407. // 发送此通知,除非重写 CDialog::OnInitDialog()
  408. // 函数并调用 CRichEditCtrl().SetEventMask(),
  409. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  410. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  411. GetDlgItem(Btn_Save)->EnableWindow();
  412. // TODO: 在此添加控件通知处理程序代码
  413. }
  414. void CDlgShowNetShareInfo::OnEnChangeSharedirectory()
  415. {
  416. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  417. // 发送此通知,除非重写 CDialog::OnInitDialog()
  418. // 函数并调用 CRichEditCtrl().SetEventMask(),
  419. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  420. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  421. GetDlgItem(Btn_Save)->EnableWindow();
  422. // TODO: 在此添加控件通知处理程序代码
  423. }
  424. void CDlgShowNetShareInfo::OnEnChangeEnablecapacity()
  425. {
  426. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  427. // 发送此通知,除非重写 CDialog::OnInitDialog()
  428. // 函数并调用 CRichEditCtrl().SetEventMask(),
  429. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  430. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  431. GetDlgItem(Btn_Save)->EnableWindow();
  432. // TODO: 在此添加控件通知处理程序代码
  433. }
  434. void CDlgShowNetShareInfo::OnEnChangeChangecapacity()
  435. {
  436. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  437. // 发送此通知,除非重写 CDialog::OnInitDialog()
  438. // 函数并调用 CRichEditCtrl().SetEventMask(),
  439. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  440. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  441. GetDlgItem(Btn_Save)->EnableWindow();
  442. // TODO: 在此添加控件通知处理程序代码
  443. }
  444. void CDlgShowNetShareInfo::OnEnChangePriority()
  445. {
  446. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  447. // 发送此通知,除非重写 CDialog::OnInitDialog()
  448. // 函数并调用 CRichEditCtrl().SetEventMask(),
  449. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  450. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  451. GetDlgItem(Btn_Save)->EnableWindow();
  452. // TODO: 在此添加控件通知处理程序代码
  453. }
  454. void CDlgShowNetShareInfo::OnBnClickedEnabledirectory()
  455. {
  456. // TODO: 在此添加控件通知处理程序代码;
  457. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  458. GetDlgItem(Btn_Save)->EnableWindow();
  459. }
  460. void CDlgShowNetShareInfo::OnCbnSelchangePhototype()
  461. {
  462. // TODO: 在此添加控件通知处理程序代码;
  463. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  464. GetDlgItem(Btn_Save)->EnableWindow();
  465. }
  466. void CDlgShowNetShareInfo::OnNMClickNetshareinfo(NMHDR *pNMHDR, LRESULT *pResult)
  467. {
  468. LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
  469. // TODO: 在此添加控件通知处理程序代码
  470. if ( pNMItemActivate->iItem == -1 )
  471. {// 单击到空白处;
  472. m_bItemChang = FALSE;
  473. m_strbranchid = _T("");
  474. m_strsharedirectory = _T("");
  475. m_nDiskSafeCapacity = 0;
  476. m_nDiskChangeCapacity = 0;
  477. m_nPriority = 0;
  478. ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->SetCheck(FALSE);
  479. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow(FALSE);
  480. GetDlgItem(Btn_Save)->EnableWindow(FALSE);
  481. GetDlgItem(BTN_DELETE)->EnableWindow(FALSE);
  482. UpdateData(FALSE);
  483. return;
  484. }
  485. m_nCurSel = pNMItemActivate->iItem;
  486. CString str;
  487. int nSubItem = 0;
  488. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  489. if ( str == _T("启用"))
  490. {
  491. ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->SetCheck(TRUE);
  492. }
  493. else
  494. {
  495. ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->SetCheck(FALSE);
  496. }
  497. m_strbranchid = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  498. m_strsharedirectory = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  499. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  500. m_nDiskSafeCapacity = _ttoi(str);
  501. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  502. m_nDiskChangeCapacity = _ttoi(str);
  503. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  504. if ( str == _T("原片"))
  505. {
  506. m_cob.SetCurSel(0);
  507. }
  508. else if ( str == _T("初修"))
  509. {
  510. m_cob.SetCurSel(1);
  511. }
  512. else if ( str == _T("精修"))
  513. {
  514. m_cob.SetCurSel(2);
  515. }
  516. else if ( str == _T("设计"))
  517. {
  518. m_cob.SetCurSel(3);
  519. }
  520. else if ( str == _T("备份的原片"))
  521. {
  522. m_cob.SetCurSel(4);
  523. }
  524. else if ( str == _T("备份的初修"))
  525. {
  526. m_cob.SetCurSel(5);
  527. }
  528. else if ( str == _T("备份的精修"))
  529. {
  530. m_cob.SetCurSel(6);
  531. }
  532. else if ( str == _T("备份的设计"))
  533. {
  534. m_cob.SetCurSel(7);
  535. }
  536. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  537. m_nPriority = _ttoi(str);
  538. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  539. GetDlgItem(Btn_Save)->EnableWindow();
  540. if ( !m_strbranchid.IsEmpty() || !m_strsharedirectory.IsEmpty() )
  541. GetDlgItem(BTN_DELETE)->EnableWindow(TRUE);
  542. UpdateData(FALSE);
  543. *pResult = 0;
  544. }
  545. void CDlgShowNetShareInfo::OnBnClickedDelete()
  546. {
  547. UpdateData();
  548. if ( m_strsharedirectory.IsEmpty() )
  549. {
  550. AfxMessageBox(_T("空目录,无法删除!"));
  551. return;
  552. }
  553. CString strSQL;
  554. strSQL.Format(DELETE_NETSHARE, m_strsharedirectory);
  555. if ( CBranchInfo::GetInstance()->Execute(strSQL))
  556. {
  557. m_list.DeleteItem(m_nCurSel);
  558. AfxMessageBox(_T("删除成功!"));
  559. CBranchInfo::GetInstance()->GetTblNetShareInfo(); // 添加完成后,重新获取NetShareInfo表;
  560. }
  561. else
  562. {
  563. AfxMessageBox(_T("删除失败!"));
  564. }
  565. }