Browse Source

CListCtrl的checkbox事件由LVN_ITEMCHANGED触发。

Jeff 5 năm trước cách đây
mục cha
commit
2fc3adba49

+ 4 - 4
ModuleSVNManager2/ModuleSVNManager/ModuleSVNManager.rc

@@ -91,7 +91,7 @@ END
 IDD_MODULESVNMANAGER_DIALOG DIALOGEX 0, 0, 469, 306
 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 EXSTYLE WS_EX_APPWINDOW
-CAPTION "ModuleSVNManager"
+CAPTION "SVN模块管理工具"
 FONT 9, "MS Shell Dlg", 0, 0, 0x1
 BEGIN
     DEFPUSHBUTTON   "保存到文件",IDOK,352,279,50,14
@@ -100,7 +100,7 @@ BEGIN
     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
+    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
@@ -115,7 +115,7 @@ END
 //
 
 VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
+ FILEVERSION 1,0,0,2
  PRODUCTVERSION 1,0,0,1
  FILEFLAGSMASK 0x3fL
 #ifdef _DEBUG
@@ -133,7 +133,7 @@ BEGIN
         BEGIN
             VALUE "CompanyName", "TODO: <公司名>"
             VALUE "FileDescription", "TODO: <文件说明>"
-            VALUE "FileVersion", "1.0.0.1"
+            VALUE "FileVersion", "1.0.0.2"
             VALUE "InternalName", "ModuleSVNManager.exe"
             VALUE "LegalCopyright", "TODO: (C) <公司名>。保留所有权利。"
             VALUE "OriginalFilename", "ModuleSVNManager.exe"

+ 17 - 0
ModuleSVNManager2/ModuleSVNManager/ModuleSVNManagerDlg.cpp

@@ -69,6 +69,7 @@ BEGIN_MESSAGE_MAP(CModuleSVNManagerDlg, CDialog)
 	ON_NOTIFY(NM_RDBLCLK, LIST_DB_MOD, &CModuleSVNManagerDlg::OnNMRDblclkDbMod)
 	ON_BN_CLICKED(IDOK, &CModuleSVNManagerDlg::OnBnClickedOk)
 	ON_BN_CLICKED(IDCANCEL, &CModuleSVNManagerDlg::OnBnClickedCancel)
+	ON_NOTIFY(LVN_ITEMCHANGED, LIST_DB_MOD, &CModuleSVNManagerDlg::OnLvnItemchangedDbMod)
 END_MESSAGE_MAP()
 
 
@@ -349,6 +350,8 @@ void CModuleSVNManagerDlg::OnNMClickDbMod(NMHDR *pNMHDR, LRESULT *pResult)
 			SetDlgItemText(ET_MOD_NAME, pModInfo->strName.c_str());
 			SetDlgItemText(ET_MOD_VER, pModInfo->strVersion.c_str());
 			SetDlgItemText(ET_MOD_ADDR, pModInfo->strAddress.c_str());
+
+			pModInfo->_check = m_list_modDB.GetCheck(pNMItemActivate->iItem);
 		}
 	}
 	else
@@ -442,3 +445,17 @@ void CModuleSVNManagerDlg::OnBnClickedCancel()
 
 	OnCancel();
 }
+
+void CModuleSVNManagerDlg::OnLvnItemchangedDbMod(NMHDR *pNMHDR, LRESULT *pResult)
+{
+	LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
+	// TODO: 在此添加控件通知处理程序代码
+	*pResult = 0;
+
+	if ( pNMLV->iItem != -1) {
+		STModInfo *pModInfo = (STModInfo *)m_list_modDB.GetItemData(pNMLV->iItem);
+		if ( pModInfo ) {
+			pModInfo->_check = m_list_modDB.GetCheck(pNMLV->iItem);
+		}
+	}
+}

+ 1 - 0
ModuleSVNManager2/ModuleSVNManager/ModuleSVNManagerDlg.h

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