From 829fe6c6bc33d53fda9c31fd45a37e1df87befff Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期五, 30 一月 2026 11:16:24 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang

---
 SourceCode/Bond/Servo/AlarmPopupDlg.h |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/SourceCode/Bond/Servo/AlarmPopupDlg.h b/SourceCode/Bond/Servo/AlarmPopupDlg.h
new file mode 100644
index 0000000..9822f18
--- /dev/null
+++ b/SourceCode/Bond/Servo/AlarmPopupDlg.h
@@ -0,0 +1,59 @@
+锘�#pragma once
+#include "afxwin.h"
+#include "AlarmManager.h"
+#include "Common.h"
+#include "ToolUnits.h"
+#include "BlButton.h"
+
+// 绠�鍖栫増鎶ヨ寮圭獥锛屽鎺� AlarmManager 鐨勬椿璺冨憡璀�
+class CAlarmPopupDlg : public CDialogEx
+{
+	DECLARE_DYNAMIC(CAlarmPopupDlg)
+
+public:
+	CAlarmPopupDlg(CWnd* pParent = NULL);
+	virtual ~CAlarmPopupDlg();
+
+public:
+	void RefreshContent(); // 鍒锋柊褰撳墠鍛婅鏄剧ず
+
+private:
+	COLORREF m_crBkgnd;
+	HBRUSH m_hbrBkgnd;
+	CFont m_fontTitle;
+	CFont m_fontLevel;
+	CFont m_fontName;
+	CFont m_fontDescription;
+	CBlButton m_btnClose;
+	CBlButton m_btnSoundOff;
+	CBlButton m_btnAlarmOff;
+
+// 瀵硅瘽妗嗘暟鎹�
+#ifdef AFX_DESIGN_TIME
+	enum { IDD = IDD_DIALOG_POPUP_ALARM };
+#endif
+
+protected:
+	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 鏀寔
+
+	DECLARE_MESSAGE_MAP()
+public:
+	virtual BOOL OnInitDialog();
+	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
+	afx_msg void OnDestroy();
+	afx_msg void OnBnClickedClose();
+	afx_msg void OnBnClickedAlarmOff();
+	afx_msg void OnBnClickedPrev();
+	afx_msg void OnBnClickedNext();
+
+private:
+	bool m_hasActive;
+	AlarmData m_activeAlarm;
+	std::vector<AlarmData> m_activeAlarms;
+	int m_activeIndex = 0;
+	void SetButtonBackgroundColors(bool bMute);
+	void ShowNoAlarmControls(bool bShow);
+	void ShowAlarmControls(bool bShow);
+	void UpdateNavButtons();
+	void DisplayActiveAt(int idx);
+};

--
Gitblit v1.9.3