DlgShowNetShareInfo.cpp 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  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. // TODO: 在此添加控件通知处理程序代码
  181. static CString strbrancid = m_strbranchid;
  182. static CString strsharedirectory = m_strsharedirectory;
  183. // 更新前获取旧记录;
  184. strbrancid = m_strbranchid;
  185. strsharedirectory = m_strsharedirectory;
  186. UpdateData();
  187. if ( m_strsharedirectory.IsEmpty() )
  188. {
  189. AfxMessageBox(_T("共享目录不能为空!"));
  190. return;
  191. }
  192. if ( m_strbranchid.IsEmpty() )
  193. {
  194. AfxMessageBox(_T("域名不能为空!"));
  195. return;
  196. }
  197. if ( m_nPriority == 255 )
  198. {
  199. return;
  200. }
  201. CString strSQL = _T("");
  202. BOOL bCheck = ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->GetCheck();
  203. if ( (strbrancid != m_strbranchid) && (strsharedirectory == m_strsharedirectory))
  204. {
  205. // 以共享目录为条件,更新;
  206. strSQL.Format(UPDATE_NETSHARE_DIRECTORY,bCheck,m_strbranchid,m_nDiskSafeCapacity,m_nDiskChangeCapacity,m_cob.GetCurSel()+1,m_nPriority,strbrancid,m_strsharedirectory);
  207. //if ( CMultiBranchInfo::GetInstance()->GetOurBranchObj()->Execute(strSQL))
  208. if ( CBranchInfo::GetInstance()->Execute(strSQL))
  209. {
  210. m_bItemChang = FALSE;
  211. int nSubImte = 0;
  212. if( bCheck )
  213. m_list.SetItemText(m_nCurSel,nSubImte++,_T("启用"));
  214. else
  215. m_list.SetItemText(m_nCurSel,nSubImte++,_T("禁用"));
  216. m_list.SetItemText(m_nCurSel,nSubImte++,m_strbranchid);
  217. nSubImte++;
  218. strSQL.Format(_T("%d"),m_nDiskSafeCapacity);
  219. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  220. strSQL.Format(_T("%d"),m_nDiskChangeCapacity);
  221. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  222. m_cob.GetLBText(m_cob.GetCurSel(),strSQL);
  223. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  224. strSQL.Format(_T("%d"),m_nPriority);
  225. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  226. AfxMessageBox(_T("更新成功!"));
  227. CBranchInfo::GetInstance()->GetTblNetShareInfo(); // 修改完成后,重新获取NetShareInfo表;
  228. GetDlgItem(Btn_Save)->EnableWindow(FALSE);
  229. }
  230. }
  231. else if ( (strsharedirectory != m_strsharedirectory) && (strbrancid == m_strbranchid))
  232. {
  233. // 以域名为条件,更新;
  234. strSQL.Format(UPDATE_NETSHARE_BRAHCNID,bCheck,m_strsharedirectory,m_nDiskSafeCapacity,m_nDiskChangeCapacity,m_cob.GetCurSel()+1,m_nPriority,m_strbranchid,strsharedirectory);
  235. //if ( CMultiBranchInfo::GetInstance()->GetOurBranchObj()->Execute(strSQL))
  236. if ( CBranchInfo::GetInstance()->Execute(strSQL))
  237. {
  238. m_bItemChang = FALSE;
  239. int nSubImte = 0;
  240. if( bCheck )
  241. m_list.SetItemText(m_nCurSel,nSubImte++,_T("启用"));
  242. else
  243. m_list.SetItemText(m_nCurSel,nSubImte++,_T("禁用"));
  244. nSubImte++;
  245. m_list.SetItemText(m_nCurSel,nSubImte++,m_strsharedirectory);
  246. strSQL.Format(_T("%d"),m_nDiskSafeCapacity);
  247. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  248. strSQL.Format(_T("%d"),m_nDiskChangeCapacity);
  249. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  250. m_cob.GetLBText(m_cob.GetCurSel(),strSQL);
  251. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  252. strSQL.Format(_T("%d"),m_nPriority);
  253. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  254. AfxMessageBox(_T("更新成功!"));
  255. CBranchInfo::GetInstance()->GetTblNetShareInfo(); // 修改完成后,重新获取NetShareInfo表;
  256. GetDlgItem(Btn_Save)->EnableWindow(FALSE);
  257. }
  258. }
  259. else if( (strsharedirectory == m_strsharedirectory) && (strbrancid == m_strbranchid))
  260. {
  261. strSQL.Format(UPDATE_NETSHARE,bCheck,m_nDiskSafeCapacity,m_nDiskChangeCapacity,m_cob.GetCurSel()+1,m_nPriority,m_strbranchid,m_strsharedirectory);
  262. //if ( CMultiBranchInfo::GetInstance()->GetOurBranchObj()->Execute(strSQL))
  263. if ( CBranchInfo::GetInstance()->Execute(strSQL))
  264. {
  265. m_bItemChang = FALSE;
  266. int nSubImte = 0;
  267. if( bCheck )
  268. m_list.SetItemText(m_nCurSel,nSubImte++,_T("启用"));
  269. else
  270. m_list.SetItemText(m_nCurSel,nSubImte++,_T("禁用"));
  271. nSubImte += 2;
  272. strSQL.Format(_T("%d"),m_nDiskSafeCapacity);
  273. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  274. strSQL.Format(_T("%d"),m_nDiskChangeCapacity);
  275. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  276. m_cob.GetLBText(m_cob.GetCurSel(),strSQL);
  277. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  278. strSQL.Format(_T("%d"),m_nPriority);
  279. m_list.SetItemText(m_nCurSel,nSubImte++,strSQL);
  280. AfxMessageBox(_T("更新成功!"));
  281. CBranchInfo::GetInstance()->GetTblNetShareInfo(); // 修改完成后,重新获取NetShareInfo表;
  282. GetDlgItem(Btn_Save)->EnableWindow(FALSE);
  283. }
  284. }
  285. else if ( (strsharedirectory != m_strsharedirectory) && (strbrancid != m_strbranchid))
  286. {
  287. AfxMessageBox(_T("更新不能修改域名和共享目录"));
  288. }
  289. UpdateData(FALSE);
  290. }
  291. void CDlgShowNetShareInfo::InitCobCtrl()
  292. {
  293. m_cob.AddString(_T("原片"));
  294. m_cob.AddString(_T("初修"));
  295. /*
  296. m_cob.AddString(_T("精修"));
  297. m_cob.AddString(_T("设计"));
  298. m_cob.AddString(_T("备份的原片"));
  299. m_cob.AddString(_T("备份的初修"));
  300. m_cob.AddString(_T("备份的精修"));
  301. m_cob.AddString(_T("备份的设计"));
  302. */
  303. m_cob.SetCurSel(0);
  304. }
  305. void CDlgShowNetShareInfo::InitListCtrl()
  306. {
  307. int nIndex = 0;
  308. m_list.InsertColumn(nIndex, _T("启/禁"));
  309. m_list.SetColumnWidth(nIndex++, 60);
  310. m_list.InsertColumn(nIndex, _T("分店域名"));
  311. m_list.SetColumnWidth(nIndex++, 120);
  312. m_list.InsertColumn(nIndex, _T("共享目录"));
  313. m_list.SetColumnWidth(nIndex++, 120);
  314. m_list.InsertColumn(nIndex, _T("硬盘安全容量"));
  315. m_list.SetColumnWidth(nIndex++, 60);
  316. m_list.InsertColumn(nIndex, _T("硬盘更换容量"));
  317. m_list.SetColumnWidth(nIndex++, 60);
  318. m_list.InsertColumn(nIndex, _T("相片类型"));
  319. m_list.SetColumnWidth(nIndex++, 60);
  320. m_list.InsertColumn(nIndex, _T("优先级"));
  321. m_list.SetColumnWidth(nIndex++, 80);
  322. m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
  323. }
  324. void CDlgShowNetShareInfo::FillDataIntoList()
  325. {
  326. m_list.DeleteAllItems();
  327. typedef vector<TblNetShareInfo*> NETSHAREINFO;
  328. //NETSHAREINFO &tagNetShareInfo = CMultiBranchInfo::GetInstance()->GetOurBranchObj()->m_TblNetShareInfo;
  329. NETSHAREINFO &tagNetShareInfo = CBranchInfo::GetInstance()->m_TblNetShareInfo;
  330. int nSize = tagNetShareInfo.size();
  331. if(nSize == 0)return;
  332. CString str;
  333. int nItem = 0,nSubItem = 0;
  334. for ( NETSHAREINFO::const_iterator it = tagNetShareInfo.begin(); it != tagNetShareInfo.end();it++ )
  335. {
  336. nSubItem = 0;
  337. m_list.InsertItem(nItem,_T(""));
  338. if((*it)->bEnable)
  339. m_list.SetItemText(nItem,nSubItem++,_T("启用"));
  340. else
  341. m_list.SetItemText(nItem,nSubItem++,_T("禁用"));
  342. m_list.SetItemText(nItem,nSubItem++,(*it)->szBranchId);
  343. m_list.SetItemText(nItem,nSubItem++,(*it)->szShareDirectory);
  344. str.Format(_T("%d"),(*it)->byMinCapacity);
  345. m_list.SetItemText(nItem,nSubItem++,str);
  346. str.Format(_T("%d"),(*it)->byMaxCapacity);
  347. m_list.SetItemText(nItem,nSubItem++,str);
  348. switch ((*it)->byPhotoType)
  349. {
  350. case 1:
  351. str = _T("原片");
  352. break;
  353. case 2:
  354. str = _T("初修");
  355. break;
  356. /*
  357. case 3:
  358. str = _T("精修");
  359. break;
  360. case 4:
  361. str = _T("设计");
  362. break;
  363. case 5:
  364. str = _T("备份的原片");
  365. break;
  366. case 6:
  367. str = _T("备份的初修");
  368. break;
  369. case 7:
  370. str = _T("备份的精修");
  371. break;
  372. case 8:
  373. str = _T("备份的设计");
  374. break;
  375. */
  376. default:
  377. str = _T("错误!");
  378. break;
  379. }
  380. m_list.SetItemText(nItem,nSubItem++,str);
  381. str.Format(_T("%d"),(*it)->byPriority);
  382. m_list.SetItemText(nItem,nSubItem++,str);
  383. nItem++;
  384. }
  385. }
  386. void CDlgShowNetShareInfo::OnEnChangeBranchname()
  387. {
  388. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  389. // 发送此通知,除非重写 CDialog::OnInitDialog()
  390. // 函数并调用 CRichEditCtrl().SetEventMask(),
  391. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  392. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  393. GetDlgItem(Btn_Save)->EnableWindow();
  394. // TODO: 在此添加控件通知处理程序代码
  395. }
  396. void CDlgShowNetShareInfo::OnEnChangeSharedirectory()
  397. {
  398. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  399. // 发送此通知,除非重写 CDialog::OnInitDialog()
  400. // 函数并调用 CRichEditCtrl().SetEventMask(),
  401. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  402. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  403. GetDlgItem(Btn_Save)->EnableWindow();
  404. // TODO: 在此添加控件通知处理程序代码
  405. }
  406. void CDlgShowNetShareInfo::OnEnChangeEnablecapacity()
  407. {
  408. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  409. // 发送此通知,除非重写 CDialog::OnInitDialog()
  410. // 函数并调用 CRichEditCtrl().SetEventMask(),
  411. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  412. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  413. GetDlgItem(Btn_Save)->EnableWindow();
  414. // TODO: 在此添加控件通知处理程序代码
  415. }
  416. void CDlgShowNetShareInfo::OnEnChangeChangecapacity()
  417. {
  418. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  419. // 发送此通知,除非重写 CDialog::OnInitDialog()
  420. // 函数并调用 CRichEditCtrl().SetEventMask(),
  421. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  422. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  423. GetDlgItem(Btn_Save)->EnableWindow();
  424. // TODO: 在此添加控件通知处理程序代码
  425. }
  426. void CDlgShowNetShareInfo::OnEnChangePriority()
  427. {
  428. // TODO: 如果该控件是 RICHEDIT 控件,它将不
  429. // 发送此通知,除非重写 CDialog::OnInitDialog()
  430. // 函数并调用 CRichEditCtrl().SetEventMask(),
  431. // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
  432. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  433. GetDlgItem(Btn_Save)->EnableWindow();
  434. // TODO: 在此添加控件通知处理程序代码
  435. }
  436. void CDlgShowNetShareInfo::OnBnClickedEnabledirectory()
  437. {
  438. // TODO: 在此添加控件通知处理程序代码;
  439. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  440. GetDlgItem(Btn_Save)->EnableWindow();
  441. }
  442. void CDlgShowNetShareInfo::OnCbnSelchangePhototype()
  443. {
  444. // TODO: 在此添加控件通知处理程序代码;
  445. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  446. GetDlgItem(Btn_Save)->EnableWindow();
  447. }
  448. void CDlgShowNetShareInfo::OnNMClickNetshareinfo(NMHDR *pNMHDR, LRESULT *pResult)
  449. {
  450. LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
  451. // TODO: 在此添加控件通知处理程序代码
  452. if ( pNMItemActivate->iItem == -1 )
  453. {// 单击到空白处;
  454. m_bItemChang = FALSE;
  455. m_strbranchid = _T("");
  456. m_strsharedirectory = _T("");
  457. m_nDiskSafeCapacity = 0;
  458. m_nDiskChangeCapacity = 0;
  459. m_nPriority = 0;
  460. ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->SetCheck(FALSE);
  461. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow(FALSE);
  462. GetDlgItem(Btn_Save)->EnableWindow(FALSE);
  463. GetDlgItem(BTN_DELETE)->EnableWindow(FALSE);
  464. UpdateData(FALSE);
  465. return;
  466. }
  467. m_nCurSel = pNMItemActivate->iItem;
  468. CString str;
  469. int nSubItem = 0;
  470. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  471. if ( str == _T("启用"))
  472. {
  473. ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->SetCheck(TRUE);
  474. }
  475. else
  476. {
  477. ((CButton*)(GetDlgItem(CHK_ENABLEDIRECTORY)))->SetCheck(FALSE);
  478. }
  479. m_strbranchid = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  480. m_strsharedirectory = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  481. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  482. m_nDiskSafeCapacity = _ttoi(str);
  483. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  484. m_nDiskChangeCapacity = _ttoi(str);
  485. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  486. if ( str == _T("原片"))
  487. {
  488. m_cob.SetCurSel(0);
  489. }
  490. else if ( str == _T("初修"))
  491. {
  492. m_cob.SetCurSel(1);
  493. }
  494. else if ( str == _T("精修"))
  495. {
  496. m_cob.SetCurSel(2);
  497. }
  498. else if ( str == _T("设计"))
  499. {
  500. m_cob.SetCurSel(3);
  501. }
  502. else if ( str == _T("备份的原片"))
  503. {
  504. m_cob.SetCurSel(4);
  505. }
  506. else if ( str == _T("备份的初修"))
  507. {
  508. m_cob.SetCurSel(5);
  509. }
  510. else if ( str == _T("备份的精修"))
  511. {
  512. m_cob.SetCurSel(6);
  513. }
  514. else if ( str == _T("备份的设计"))
  515. {
  516. m_cob.SetCurSel(7);
  517. }
  518. str = m_list.GetItemText(pNMItemActivate->iItem,nSubItem++);
  519. m_nPriority = _ttoi(str);
  520. GetDlgItem(Btn_AddNetShareInfo)->EnableWindow();
  521. GetDlgItem(Btn_Save)->EnableWindow();
  522. if ( !m_strbranchid.IsEmpty() || !m_strsharedirectory.IsEmpty() )
  523. GetDlgItem(BTN_DELETE)->EnableWindow(TRUE);
  524. UpdateData(FALSE);
  525. *pResult = 0;
  526. }
  527. void CDlgShowNetShareInfo::OnBnClickedDelete()
  528. {
  529. UpdateData();
  530. if ( m_strsharedirectory.IsEmpty() )
  531. {
  532. AfxMessageBox(_T("空目录,无法删除!"));
  533. return;
  534. }
  535. CString strSQL;
  536. strSQL.Format(DELETE_NETSHARE, m_strsharedirectory);
  537. if ( CBranchInfo::GetInstance()->Execute(strSQL))
  538. {
  539. m_list.DeleteItem(m_nCurSel);
  540. AfxMessageBox(_T("删除成功!"));
  541. CBranchInfo::GetInstance()->GetTblNetShareInfo(); // 添加完成后,重新获取NetShareInfo表;
  542. }
  543. else
  544. {
  545. AfxMessageBox(_T("删除失败!"));
  546. }
  547. }