| | |
| | | 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; |
| | |
| | | CAlarmPopupDlg::~CAlarmPopupDlg() |
| | | { |
| | | } |
| | | |
| | | void CAlarmPopupDlg::SetPLC(CPLC* pPLC) |
| | | { |
| | | ASSERT(pPLC); |
| | | m_pPLC = pPLC; |
| | | } |
| | | |
| | | |
| | | void CAlarmPopupDlg::DoDataExchange(CDataExchange* pDX) |
| | | { |
| | |
| | | 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() |
| | | |
| | | |
| | |
| | | |
| | | |
| | | // 静音按钮 |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | | }); |
| | | } |