Browse Source

添加删除按钮;

Jeff 5 years ago
parent
commit
59f487c0b5

+ 10 - 9
ModuleSVNManager2/ModuleSVNManager/ModuleSVNManager.rc

@@ -88,24 +88,25 @@ BEGIN
     DEFPUSHBUTTON   "确定",IDOK,113,41,50,14,WS_GROUP
 END
 
-IDD_MODULESVNMANAGER_DIALOG DIALOGEX 0, 0, 469, 306
+IDD_MODULESVNMANAGER_DIALOG DIALOGEX 0, 0, 499, 306
 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 EXSTYLE WS_EX_APPWINDOW
 CAPTION "SVN模块管理工具"
 FONT 9, "MS Shell Dlg", 0, 0, 0x1
 BEGIN
-    DEFPUSHBUTTON   "保存到文件",IDOK,352,279,50,14
-    PUSHBUTTON      "退出程序",IDCANCEL,404,279,50,14
+    DEFPUSHBUTTON   "保存到文件",IDOK,379,279,50,14
+    PUSHBUTTON      "退出程序",IDCANCEL,437,279,50,14
     LTEXT           "名称:",IDC_STATIC,12,18,22,8
     EDITTEXT        ET_MOD_NAME,33,16,48,14,ES_AUTOHSCROLL
     LTEXT           "版本:",IDC_STATIC,92,18,21,8
     EDITTEXT        ET_MOD_VER,112,16,40,14,ES_AUTOHSCROLL | ES_NUMBER
     LTEXT           "地址:",IDC_STATIC,164,18,22,8
-    EDITTEXT        ET_MOD_ADDR,185,16,208,14,ES_AUTOHSCROLL
-    PUSHBUTTON      "添加",BTN_OPERATION,397,16,50,14
-    GROUPBOX        "操作",IDC_STATIC,7,3,452,35
-    CONTROL         "",LIST_DB_MOD,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,15,54,440,215
-    GROUPBOX        "已录模块",IDC_STATIC,7,41,452,234
+    EDITTEXT        ET_MOD_ADDR,185,16,201,14,ES_AUTOHSCROLL
+    PUSHBUTTON      "添加",BTN_OPERATION,389,16,47,14
+    GROUPBOX        "操作",IDC_STATIC,7,3,485,35
+    CONTROL         "",LIST_DB_MOD,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,15,54,472,215
+    GROUPBOX        "已录模块",IDC_STATIC,7,41,485,234
+    PUSHBUTTON      "删除",BTN_DELETE,442,16,44,14,WS_DISABLED
 END
 
 
@@ -167,7 +168,7 @@ BEGIN
     IDD_MODULESVNMANAGER_DIALOG, DIALOG
     BEGIN
         LEFTMARGIN, 7
-        RIGHTMARGIN, 462
+        RIGHTMARGIN, 492
         TOPMARGIN, 7
         BOTTOMMARGIN, 299
     END

+ 61 - 19
ModuleSVNManager2/ModuleSVNManager/ModuleSVNManagerDlg.cpp

@@ -70,6 +70,7 @@ BEGIN_MESSAGE_MAP(CModuleSVNManagerDlg, CDialog)
 	ON_BN_CLICKED(IDOK, &CModuleSVNManagerDlg::OnBnClickedOk)
 	ON_BN_CLICKED(IDCANCEL, &CModuleSVNManagerDlg::OnBnClickedCancel)
 	ON_NOTIFY(LVN_ITEMCHANGED, LIST_DB_MOD, &CModuleSVNManagerDlg::OnLvnItemchangedDbMod)
+	ON_BN_CLICKED(BTN_DELETE, &CModuleSVNManagerDlg::OnBnClickedDelete)
 END_MESSAGE_MAP()
 
 
@@ -334,7 +335,7 @@ void CModuleSVNManagerDlg::OnBnClickedOperation()
 	}
 }
 
-// 双击实现打勾;
+// 单击控件;
 void CModuleSVNManagerDlg::OnNMClickDbMod(NMHDR *pNMHDR, LRESULT *pResult)
 {
 	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
@@ -351,7 +352,8 @@ void CModuleSVNManagerDlg::OnNMClickDbMod(NMHDR *pNMHDR, LRESULT *pResult)
 			SetDlgItemText(ET_MOD_VER, pModInfo->strVersion.c_str());
 			SetDlgItemText(ET_MOD_ADDR, pModInfo->strAddress.c_str());
 
-			pModInfo->_check = m_list_modDB.GetCheck(pNMItemActivate->iItem);
+			// 启用删除按钮;
+			GetDlgItem(BTN_DELETE)->EnableWindow(TRUE);
 		}
 	}
 	else
@@ -360,10 +362,14 @@ void CModuleSVNManagerDlg::OnNMClickDbMod(NMHDR *pNMHDR, LRESULT *pResult)
 		if ( m_list_modDB.GetSelectedCount() == 0 ) {
 			SetEditLockStatus(FALSE);
 			SetDlgItemText(BTN_OPERATION, _T("添加"));
+
+			// 禁用删除按钮;
+			GetDlgItem(BTN_DELETE)->EnableWindow(FALSE);
 		}
 	}
 }
 
+// 双击实现打勾;
 void CModuleSVNManagerDlg::OnNMDblclkDbMod(NMHDR *pNMHDR, LRESULT *pResult)
 {
 	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
@@ -385,31 +391,33 @@ void CModuleSVNManagerDlg::OnNMRDblclkDbMod(NMHDR *pNMHDR, LRESULT *pResult)
 	LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
 	// TODO: 在此添加控件通知处理程序代码
 	*pResult = 0;
-
+#if 1
 	if ( pNMItemActivate->iItem != -1) {
 		STModInfo *pModInfo = (STModInfo *)m_list_modDB.GetItemData(pNMItemActivate->iItem);
 		if ( pModInfo ) {
-			if ( CDataImpl::GetInstance()->DeleteModInfo(*pModInfo) ) {
-				MessageBox(_T("删除成功!"), _T("提醒!"), MB_OK|MB_ICONWARNING);
-				// 从列表中移除;
-				m_list_modDB.SetItemData(pNMItemActivate->iItem, NULL);
-				m_list_modDB.DeleteItem(pNMItemActivate->iItem);
-				// 从容器中移除;
-				for ( std::vector<STModInfo*>::iterator it = m_vtDbModInfo.begin(); it != m_vtDbModInfo.end(); it++ ) {
-					if ( pModInfo == (*it) ) {
-						m_vtDbModInfo.erase(it);
-						break;
+			if ( MessageBox(_T("确认删除该项,请选择是!"), _T("温馨提示!"), MB_YESNO) == IDYES ) {
+				if ( CDataImpl::GetInstance()->DeleteModInfo(*pModInfo) ) {
+					// 从列表中移除;
+					m_list_modDB.SetItemData(pNMItemActivate->iItem, NULL);
+					m_list_modDB.DeleteItem(pNMItemActivate->iItem);
+					// 从容器中移除;
+					for ( std::vector<STModInfo*>::iterator it = m_vtDbModInfo.begin(); it != m_vtDbModInfo.end(); it++ ) {
+						if ( pModInfo == (*it) ) {
+							m_vtDbModInfo.erase(it);
+							break;
+						}
 					}
-				}
 
-				UpdateData();
-			}
-			else
-			{
-				MessageBox(_T("删除失败!"), _T("提醒!"), MB_OK|MB_ICONWARNING);
+					MessageBox(_T("删除成功!"), _T("提醒!"), MB_OK|MB_ICONWARNING);
+				}
+				else
+				{
+					MessageBox(_T("删除失败!"), _T("提醒!"), MB_OK|MB_ICONWARNING);
+				}
 			}
 		}
 	}
+#endif
 }
 
 void CModuleSVNManagerDlg::OnBnClickedOk()
@@ -465,3 +473,37 @@ void CModuleSVNManagerDlg::OnLvnItemchangedDbMod(NMHDR *pNMHDR, LRESULT *pResult
 		}
 	}
 }
+
+void CModuleSVNManagerDlg::OnBnClickedDelete()
+{
+	// TODO: 在此添加控件通知处理程序代码
+	int nSelCurl = -1;
+	POSITION pos = m_list_modDB.GetFirstSelectedItemPosition();
+	if ( pos ) {
+		nSelCurl = m_list_modDB.GetNextSelectedItem(pos);
+		if ( nSelCurl != -1 ) {
+			STModInfo *pModInfo = (STModInfo *)m_list_modDB.GetItemData(nSelCurl);
+			if ( pModInfo ) {
+				if ( MessageBox(_T("确认删除该项,请选择是!"), _T("温馨提示!"), MB_YESNO) == IDYES ) {
+					if ( CDataImpl::GetInstance()->DeleteModInfo(*pModInfo) ) {
+						// 从列表中移除;
+						m_list_modDB.SetItemData(nSelCurl, NULL);
+						m_list_modDB.DeleteItem(nSelCurl);
+						// 从容器中移除;
+						for ( std::vector<STModInfo*>::iterator it = m_vtDbModInfo.begin(); it != m_vtDbModInfo.end(); it++ ) {
+							if ( pModInfo == (*it) ) {
+								m_vtDbModInfo.erase(it);
+								break;
+							}
+						}
+						MessageBox(_T("删除成功!"), _T("提醒!"), MB_OK|MB_ICONWARNING);
+					}
+					else
+					{
+						MessageBox(_T("删除失败!"), _T("提醒!"), MB_OK|MB_ICONWARNING);
+					}
+				}
+			}
+		}
+	}
+}

+ 1 - 0
ModuleSVNManager2/ModuleSVNManager/ModuleSVNManagerDlg.h

@@ -47,4 +47,5 @@ public:
 	afx_msg void OnBnClickedOk();
 	afx_msg void OnBnClickedCancel();
 	afx_msg void OnLvnItemchangedDbMod(NMHDR *pNMHDR, LRESULT *pResult);
+	afx_msg void OnBnClickedDelete();
 };

+ 3 - 1
ModuleSVNManager2/ModuleSVNManager/resource.h

@@ -18,6 +18,8 @@
 #define LIST_MOD_NAME                   1005
 #define IDC_LIST3                       1006
 #define LIST_MOD_CONTENT                1006
+#define IDC_BUTTON1                     1006
+#define BTN_DELETE                      1006
 #define IDC_LIST4                       1007
 #define LIST_DB_MOD                     1007
 
@@ -27,7 +29,7 @@
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NEXT_RESOURCE_VALUE        129
 #define _APS_NEXT_COMMAND_VALUE         32771
-#define _APS_NEXT_CONTROL_VALUE         1006
+#define _APS_NEXT_CONTROL_VALUE         1007
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif