From f71f467b68ce6c8dc6c983a2963ec9b131515441 Mon Sep 17 00:00:00 2001
From: chenluhua1980 <Chenluhua@qq.com>
Date: 星期三, 10 十二月 2025 17:55:02 +0800
Subject: [PATCH] 1.实现删除变量的功能;
---
SourceCode/Bond/Servo/CPageVarialbles.cpp | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 52 insertions(+), 1 deletions(-)
diff --git a/SourceCode/Bond/Servo/CPageVarialbles.cpp b/SourceCode/Bond/Servo/CPageVarialbles.cpp
index 415a5dc..b379c18 100644
--- a/SourceCode/Bond/Servo/CPageVarialbles.cpp
+++ b/SourceCode/Bond/Servo/CPageVarialbles.cpp
@@ -32,6 +32,7 @@
ON_WM_CTLCOLOR()
ON_WM_DESTROY()
ON_WM_SIZE()
+ ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, &CPageVarialbles::OnLvnItemchangedList1)
END_MESSAGE_MAP()
@@ -108,7 +109,6 @@
if (GetDlgItem(IDC_LIST1) == nullptr) return;
- CWnd* pItem;
CRect rcClient, rcItem;
GetClientRect(&rcClient);
m_listCtrl.MoveWindow(12, 12, rcClient.Width() - 24, rcClient.Height() - 24);
@@ -131,3 +131,54 @@
m_listCtrl.SetItemText(index, 4, item->getRemark().c_str());
}
}
+
+void CPageVarialbles::OnCreateBtns()
+{
+ const int BTN_W = 80;
+ const int BTN_H = 28;
+ CreateBtn(_T("鏂板"), BTN_W, BTN_H, 1001);
+ CreateBtn(_T("鍒犻櫎"), BTN_W, BTN_H, 1002)->EnableWindow(FALSE);
+ CreateBtn(_T("缂栬緫"), BTN_W, BTN_H, 1003)->EnableWindow(FALSE);
+}
+
+void CPageVarialbles::OnLvnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult)
+{
+ LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
+ int nSelCount = m_listCtrl.GetSelectedCount();
+
+ // 鏍规嵁閫変腑鐘舵�佸惎鐢�/绂佺敤鎸夐挳
+ if (CButton* pDel = GetBtnByName("鍒犻櫎")) {
+ pDel->EnableWindow(nSelCount > 0);
+ }
+ if (CButton* pEdit = GetBtnByName("缂栬緫")) {
+ pEdit->EnableWindow(nSelCount > 0);
+ }
+
+ *pResult = 0;
+}
+
+void CPageVarialbles::OnClickedBtn(const char* btnName)
+{
+ ASSERT(btnName);
+ if (_strcmpi(btnName, "鏂板") == 0) {
+ // TODO: 鏂板閫昏緫
+ }
+ else if (_strcmpi(btnName, "鍒犻櫎") == 0) {
+ POSITION pos = m_listCtrl.GetFirstSelectedItemPosition();
+ if (pos == nullptr) return;
+ int nItem = m_listCtrl.GetNextSelectedItem(pos);
+ auto pVar = reinterpret_cast<SERVO::CVariable*>(m_listCtrl.GetItemData(nItem));
+ if (pVar == nullptr) return;
+
+ int ret = theApp.m_model.m_hsmsPassive.deleteVariable(pVar->getVarialbleId());
+ if (ret == 0) {
+ m_listCtrl.DeleteAllItems();
+ loadVariables();
+ if (CButton* pDel = GetBtnByName("鍒犻櫎")) pDel->EnableWindow(FALSE);
+ if (CButton* pEdit = GetBtnByName("缂栬緫")) pEdit->EnableWindow(FALSE);
+ }
+ }
+ else if (_strcmpi(btnName, "缂栬緫") == 0) {
+ // TODO: 缂栬緫閫昏緫
+ }
+}
--
Gitblit v1.9.3