From 50a42e5d72e2f8cf92ff9b2273e0442977dbcefd Mon Sep 17 00:00:00 2001
From: LAPTOP-T815PCOQ\25526 <mr.liuyang@126.com>
Date: 星期三, 18 十二月 2024 18:28:02 +0800
Subject: [PATCH] 1. 对话框基类添加动态控件管理 2. 对话框基类主题切换功能

---
 SourceCode/Bond/BondEq/CPageAlarm.cpp |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/SourceCode/Bond/BondEq/CPageAlarm.cpp b/SourceCode/Bond/BondEq/CPageAlarm.cpp
index f38aba3..f03c56b 100644
--- a/SourceCode/Bond/BondEq/CPageAlarm.cpp
+++ b/SourceCode/Bond/BondEq/CPageAlarm.cpp
@@ -157,18 +157,28 @@
 {
 	CAlarmMonitor* pMonitor = (CAlarmMonitor*)theApp.m_model.getBonder().GetComponent(ALARM_MONITOR);
 
+
+	// 当前正在发生的报警
 	pMonitor->Lock();
 	std::map<int, CAlarm*>& alarmings = pMonitor->getAlarmingMap();
-	std::list< CAlarm*>& alarms = pMonitor->getAlarmRecords();
-
 	for (auto item : alarmings) {
 		AddAlarm(pMonitor, item.second);
 	}
-	for (auto item : alarms) {
-		AddAlarm(pMonitor, item);
-	}
-
 	pMonitor->Unlock();
+
+
+	// 获取历史报警数据
+	auto vecData = AlarmManager::getInstance().getAllAlarms();
+
+	// 填充数据
+	CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_ALARM);
+	for (auto item : vecData) {
+		pListCtrl->InsertItem(0, _T(""));
+		pListCtrl->SetItemText(0, 1, item[0].c_str());
+		pListCtrl->SetItemText(0, 2, item[1].c_str());
+		pListCtrl->SetItemText(0, 3, item[2].c_str());
+		pListCtrl->SetItemText(0, 4, item[3].c_str());
+	}
 }
 
 void CPageAlarm::AddAlarm(CAlarmMonitor* pMonitor, CAlarm* pAlarm)
@@ -208,7 +218,9 @@
 	CListCtrl* pListCtrl = (CListCtrl*)GetDlgItem(IDC_LIST_ALARM);
 	for (int i = 0; i < pListCtrl->GetItemCount(); i++) {
 		CAlarm* pAlarm = (CAlarm*)pListCtrl->GetItemData(i);
-		pAlarm->release();
+		if (pAlarm != nullptr) {
+			pAlarm->release();
+		}
 	}
 
 	return CDialogEx::DestroyWindow();

--
Gitblit v1.9.3