From d362ec98ec0db2039944da31729ad8efcd72834a Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期四, 02 一月 2025 14:19:36 +0800
Subject: [PATCH] 1.20250102合并;
---
SourceCode/Bond/BondEq/AlarmPopupDlg.cpp | 85 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 81 insertions(+), 4 deletions(-)
diff --git a/SourceCode/Bond/BondEq/AlarmPopupDlg.cpp b/SourceCode/Bond/BondEq/AlarmPopupDlg.cpp
index 5a6e0de..dd9b9b2 100644
--- a/SourceCode/Bond/BondEq/AlarmPopupDlg.cpp
+++ b/SourceCode/Bond/BondEq/AlarmPopupDlg.cpp
@@ -16,6 +16,8 @@
CAlarmPopupDlg::CAlarmPopupDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(IDD_DIALOG_POPUP_ALARM, pParent)
{
+ m_pPLC = nullptr;
+
m_crBkgnd = RGB(225, 225, 225);
m_hbrBkgnd = nullptr;
m_pActiveAlarm = nullptr;
@@ -24,6 +26,13 @@
CAlarmPopupDlg::~CAlarmPopupDlg()
{
}
+
+void CAlarmPopupDlg::SetPLC(CPLC* pPLC)
+{
+ ASSERT(pPLC);
+ m_pPLC = pPLC;
+}
+
void CAlarmPopupDlg::DoDataExchange(CDataExchange* pDX)
{
@@ -36,6 +45,8 @@
ON_WM_DESTROY()
ON_WM_SIZE()
ON_BN_CLICKED(IDC_BUTTON_CLOSE, &CAlarmPopupDlg::OnBnClickedButtonClose)
+ ON_BN_CLICKED(IDC_BUTTON_SOUND_OFF, &CAlarmPopupDlg::OnBnClickedButtonSoundOff)
+ ON_BN_CLICKED(IDC_BUTTON_ALARM_OFF, &CAlarmPopupDlg::OnBnClickedButtonAlarmOff)
END_MESSAGE_MAP()
@@ -115,14 +126,12 @@
// 静音按钮
+ bool bMute = theApp.m_model.getBonder().isMute();
m_btnSoundOff.SubclassDlgItem(IDC_BUTTON_SOUND_OFF, this);
m_btnSoundOff.SetFrameColor(BS_NORMAL, BTN_SOUND_OFF_FRAME_NORMAL);
m_btnSoundOff.SetFrameColor(BS_HOVER, BTN_SOUND_OFF_FRAME_HOVER);
m_btnSoundOff.SetFrameColor(BS_PRESS, BTN_SOUND_OFF_FRAME_PRESS);
- m_btnSoundOff.SetBkgndColor(BS_NORMAL, BTN_SOUND_OFF_BKGND_NORMAL);
- m_btnSoundOff.SetBkgndColor(BS_HOVER, BTN_SOUND_OFF_BKGND_HOVER);
- m_btnSoundOff.SetBkgndColor(BS_PRESS, BTN_SOUND_OFF_BKGND_PRESS);
-
+ SetButtonBackgroundColors(bMute);
// 横线1
CHorizontalLine* pLine = CHorizontalLine::Hook(GetDlgItem(IDC_LINE1)->m_hWnd);
@@ -215,3 +224,71 @@
ShowWindow(SW_HIDE);
}
}
+
+void CAlarmPopupDlg::SetButtonBackgroundColors(bool bMute)
+{
+ if (!bMute) {
+ m_btnSoundOff.SetBkgndColor(BS_NORMAL, BTN_SOUND_OFF_BKGND_NORMAL);
+ m_btnSoundOff.SetBkgndColor(BS_HOVER, BTN_SOUND_OFF_BKGND_HOVER);
+ m_btnSoundOff.SetBkgndColor(BS_PRESS, BTN_SOUND_OFF_BKGND_PRESS);
+ }
+ else {
+ m_btnSoundOff.SetBkgndColor(BS_NORMAL, BTN_SOUND_ON_BKGND_NORMAL);
+ m_btnSoundOff.SetBkgndColor(BS_HOVER, BTN_SOUND_ON_BKGND_HOVER);
+ m_btnSoundOff.SetBkgndColor(BS_PRESS, BTN_SOUND_ON_BKGND_PRESS);
+ }
+}
+
+void CAlarmPopupDlg::OnBnClickedButtonSoundOff()
+{
+ // TODO: 在此添加控件通知处理程序代码
+ if (m_pPLC == nullptr || !m_pPLC->isConnected()) {
+ return;
+ }
+
+ // 向 PLC 写入信号
+ bool bMute = theApp.m_model.getBonder().isMute();
+ char szWrite[4] = { 0x1, 0x0, 0x0, 0x0 };
+ szWrite[0] = !bMute;
+ m_pPLC->writeData(MC::M, 1003, szWrite, 2, [](IMcChannel* pChannel, int nAddr, DWORD nValue, int nFlag) {
+ if (nFlag == 0) {
+ TRACE("操作成功:地址=1003\n", nAddr);
+ }
+ else {
+ TRACE("操作失败:地址=1003,错误码=%d\n", nFlag);
+ }
+ });
+
+ SetButtonBackgroundColors(!bMute);
+}
+
+void CAlarmPopupDlg::OnBnClickedButtonAlarmOff()
+{
+ // TODO: 在此添加控件通知处理程序代码
+ if (m_pPLC == nullptr || !m_pPLC->isConnected()) {
+ return;
+ }
+
+ // 向 PLC 写入信号
+ char szWrite[4] = { 0x1, 0x0, 0x0, 0x0 };
+ m_pPLC->writeData(MC::M, 1009, szWrite, 2, [](IMcChannel* pChannel, int nAddr, DWORD nValue, int nFlag) {
+ if (nFlag == 0) {
+ TRACE("操作成功:地址=1009\n", nAddr);
+ }
+ else {
+ TRACE("操作失败:地址=1009,错误码=%d\n", nFlag);
+ }
+ });
+
+ Sleep(500);
+
+ szWrite[0] = 0x0;
+ m_pPLC->writeData(MC::M, 1009, szWrite, 2, [](IMcChannel* pChannel, int nAddr, DWORD nValue, int nFlag) {
+ if (nFlag == 0) {
+ TRACE("操作成功:地址=1009\n", nAddr);
+ }
+ else {
+ TRACE("操作失败:地址=1009,错误码=%d\n", nFlag);
+ }
+ });
+}
--
Gitblit v1.9.3