// RemoteAlarmConfig.cpp : implementation file // #include "stdafx.h" #include "StoneU_HC_OCX.h" #include "RemoteAlarmConfig.h" #include "RemoteAlarmIn.h" #include "RemotePTZCtrl.h" #include "RemoteParamsCfg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CRemoteAlarmConfig dialog extern CRemoteParamsCfg *m_pRemoteParam; CRemoteAlarmConfig::CRemoteAlarmConfig(CWnd* pParent /*=NULL*/) : CDialog(CRemoteAlarmConfig::IDD, pParent) { //{{AFX_DATA_INIT(CRemoteAlarmConfig) m_bAlarmIn = FALSE; m_iHour11 = 0; m_iHour12 = 0; m_iHour21 = 0; m_iHour22 = 0; m_iHour31 = 0; m_iHour32 = 0; m_iHour41 = 0; m_iHour42 = 0; m_iMin11 = 0; m_iMin21 = 0; m_iMin12 = 0; m_iMin22 = 0; m_iMin31 = 0; m_iMin32 = 0; m_iMin41 = 0; m_iMin42 = 0; m_AlarmInName = _T(""); //}}AFX_DATA_INIT } void CRemoteAlarmConfig::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CRemoteAlarmConfig) DDX_Control(pDX, IDC_COMBOOUTWEEKDAY, m_WeekDayCtrl); DDX_Control(pDX, IDC_COMBOOUTDELAY, m_OutDelayCtrl); DDX_Control(pDX, IDC_COMBOCOPYOUT, m_CopyOutCtrl); DDX_Control(pDX, IDC_COMBOCOPYIN, m_CopyInCtrl); DDX_Control(pDX, IDC_COMBOALARMOUT, m_AlarmOutCtrl); DDX_Control(pDX, IDC_COMBOALARMIN, m_AlarmInCtrl); DDX_Control(pDX, IDC_COMBOCOPYTIME, m_CopyTimeCtrl); DDX_Control(pDX, IDC_COMBOALARMINTYPE, m_AlarmInTypeCtrl); DDX_Check(pDX, IDC_CHECKALARMIN, m_bAlarmIn); DDX_Text(pDX, IDC_EDITHOUR11, m_iHour11); DDX_Text(pDX, IDC_EDITHOUR12, m_iHour12); DDX_Text(pDX, IDC_EDITHOUR21, m_iHour21); DDX_Text(pDX, IDC_EDITHOUR22, m_iHour22); DDX_Text(pDX, IDC_EDITHOUR31, m_iHour31); DDX_Text(pDX, IDC_EDITHOUR32, m_iHour32); DDX_Text(pDX, IDC_EDITHOUR41, m_iHour41); DDX_Text(pDX, IDC_EDITHOUR42, m_iHour42); DDX_Text(pDX, IDC_EDITMIN11, m_iMin11); DDX_Text(pDX, IDC_EDITMIN21, m_iMin21); DDX_Text(pDX, IDC_EDITMIN12, m_iMin12); DDX_Text(pDX, IDC_EDITMIN22, m_iMin22); DDX_Text(pDX, IDC_EDITMIN31, m_iMin31); DDX_Text(pDX, IDC_EDITMIN32, m_iMin32); DDX_Text(pDX, IDC_EDITMIN41, m_iMin41); DDX_Text(pDX, IDC_EDITMIN42, m_iMin42); DDX_Text(pDX, IDC_EDITALARMINNAME, m_AlarmInName); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CRemoteAlarmConfig, CDialog) //{{AFX_MSG_MAP(CRemoteAlarmConfig) ON_BN_CLICKED(IDC_INCOPY, OnIncopy) ON_CBN_SELCHANGE(IDC_COMBOALARMIN, OnSelchangeComboalarmin) ON_BN_CLICKED(IDC_BUTTONALARMIN, OnButtonalarmin) ON_BN_CLICKED(IDC_BUTTONPTZ, OnButtonptz) ON_BN_CLICKED(IDC_OUTTIMECOPY, OnOuttimecopy) ON_BN_CLICKED(IDC_OUTCOPY, OnOutcopy) ON_BN_CLICKED(IDC_EXIT, OnExit) ON_BN_CLICKED(IDC_CHECKALARMIN, OnCheckalarmin) ON_CBN_SELCHANGE(IDC_COMBOALARMOUT, OnSelchangeComboalarmout) ON_BN_CLICKED(IDC_OUTTIMEOK, OnOuttimeok) ON_CBN_SELCHANGE(IDC_COMBOOUTWEEKDAY, OnSelchangeCombooutweekday) ON_BN_CLICKED(IDC_INOK, OnInok) ON_BN_CLICKED(IDALARMCFGOK, OnAlarmcfgok) ON_BN_CLICKED(ID_CANCEL, OnCancel) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CRemoteAlarmConfig message handlers BOOL CRemoteAlarmConfig::CheckPara() { #if 1 bSetAlarmParams = FALSE; CString sTemp; char cTemp[100]; int i; m_alarmin = 0; m_nCopyAlarmIn = -1; m_alarmout = 0; m_nCopyAlarmOut = -1; m_nCopyOutTime = -1; m_AlarmInCtrl.ResetContent(); m_CopyInCtrl.ResetContent(); m_AlarmOutCtrl.ResetContent(); m_CopyOutCtrl.ResetContent(); sTemp.Format(_T("全部报警量")); m_CopyInCtrl.AddString(sTemp); for(i=0; i<(int)m_dwAlarmInNum; i++) { if(m_bConnectServer) { if(!NET_DVR_GetDVRConfig(m_lServerID, NET_DVR_GET_ALARMINCFG, i,&m_alarmincfg[i], sizeof(NET_DVR_ALARMINCFG), &dwReturned)) { m_bGetAlarmIn[i] = FALSE; sTemp.Format("%d 报警参数获取失败: NET_DVR_GET_ALARMINCFG = %d \n", i,NET_DVR_GetLastError()); TRACE(sTemp); MessageBox("获取报警参数失败!", "温馨提示", MB_ICONINFORMATION); } else { m_bGetAlarmIn[i] = TRUE; sTemp.Format("报警量%d", (1+i)); m_AlarmInCtrl.AddString(sTemp); m_CopyInCtrl.AddString(sTemp); } } else { m_bGetAlarmIn[i] = FALSE; } } m_CopyInCtrl.SetCurSel(m_alarmin); m_AlarmInCtrl.SetCurSel(m_alarmin); sTemp.Format(_T("全部报警输出")); m_CopyOutCtrl.AddString(sTemp); for(i=0; i<(int)m_dwAlarmOutNum; i++) { sTemp.Format("报警输出%d", (1+i)); m_AlarmOutCtrl.AddString(sTemp); m_CopyOutCtrl.AddString(sTemp); if(m_bConnectServer) { if(!NET_DVR_GetDVRConfig(m_lServerID, NET_DVR_GET_ALARMOUTCFG, i,&m_alarmoutcfg[i], sizeof(NET_DVR_ALARMOUTCFG), &dwReturned)) { m_bGetAlarmOut[i] = FALSE; sTemp.Format("%d 报警输出参数获取失败: NET_DVR_GET_ALARMOUTCFG = %d \n", i, NET_DVR_GetLastError()); TRACE(sTemp); MessageBox("获取报警输出参数失败!", "温馨提示", MB_ICONINFORMATION); } else { m_bGetAlarmOut[i] = TRUE; } } else { m_bGetAlarmOut[i] = FALSE; } } m_CopyOutCtrl.SetCurSel(m_alarmout); m_AlarmOutCtrl.SetCurSel(m_alarmout); if(m_bGetAlarmIn[m_alarmin]) { m_AlarmInTypeCtrl.SetCurSel(m_alarmincfg[m_alarmin].byAlarmType); m_bAlarmIn = m_alarmincfg[m_alarmin].byAlarmInHandle; ZeroMemory(cTemp, 100); memcpy(cTemp, m_alarmincfg[m_alarmin].sAlarmInName, NAME_LEN); m_AlarmInName.Format("%s", cTemp); if(m_bAlarmIn) { GetDlgItem(IDC_BUTTONALARMIN)->EnableWindow(TRUE); GetDlgItem(IDC_BUTTONPTZ)->EnableWindow(TRUE); } else { GetDlgItem(IDC_BUTTONALARMIN)->EnableWindow(FALSE); GetDlgItem(IDC_BUTTONPTZ)->EnableWindow(FALSE); } GetDlgItem(IDC_INCOPY)->EnableWindow(TRUE); GetDlgItem(IDC_INOK)->EnableWindow(TRUE); } if(m_bGetAlarmOut[m_alarmout]) { TRACE("报警输出延时:%d", m_alarmoutcfg[m_alarmout].dwAlarmOutDelay); m_OutDelayCtrl.SetCurSel(m_alarmoutcfg[m_alarmout].dwAlarmOutDelay); m_WeekDayCtrl.SetCurSel(0); m_CopyTimeCtrl.SetCurSel(0); m_iHour11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStartHour; m_iMin11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStartMin; m_iHour12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStopHour; m_iMin12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStopMin; m_iHour21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStartHour; m_iMin21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStartMin; m_iHour22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStopHour; m_iMin22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStopMin; m_iHour31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStartHour; m_iMin31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStartMin; m_iHour32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStopHour; m_iMin32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStopMin; m_iHour41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStartHour; m_iMin41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStartMin; m_iHour42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStopHour; m_iMin42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStopMin; GetDlgItem(IDC_OUTCOPY)->EnableWindow(TRUE); GetDlgItem(IDALARMCFGOK)->EnableWindow(TRUE); GetDlgItem(IDC_OUTTIMEOK)->EnableWindow(TRUE); } #endif UpdateData(FALSE); return TRUE; } BOOL CRemoteAlarmConfig::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here CRect rc(0, 0, 0, 0); GetParent()->GetClientRect(&rc); ((CTabCtrl*)GetParent())->AdjustRect(FALSE, &rc); MoveWindow(&rc); if(m_pRemoteParam->m_dvrSelect != -1) CheckPara(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CRemoteAlarmConfig::OnSelchangeComboalarmin() { if(m_pRemoteParam->m_dvrSelect == -1) return; // TODO: Add your control notification handler code here char cTemp[100]; m_alarmin = m_AlarmInCtrl.GetCurSel(); ZeroMemory(cTemp, 100); memcpy(cTemp, m_alarmincfg[m_alarmin].sAlarmInName, NAME_LEN); m_AlarmInName.Format("%s", cTemp); m_AlarmInTypeCtrl.SetCurSel(m_alarmincfg[m_alarmin].byAlarmType); m_bAlarmIn = m_alarmincfg[m_alarmin].byAlarmInHandle; if(m_bAlarmIn) { GetDlgItem(IDC_BUTTONALARMIN)->EnableWindow(TRUE); } else { GetDlgItem(IDC_BUTTONALARMIN)->EnableWindow(FALSE); } UpdateData(FALSE); } void CRemoteAlarmConfig::OnCheckalarmin() { if(m_pRemoteParam->m_dvrSelect == -1) return; // TODO: Add your control notification handler code here UpdateData(TRUE); m_alarmincfg[m_alarmin].byAlarmInHandle = m_bAlarmIn; if(m_bAlarmIn) { GetDlgItem(IDC_BUTTONALARMIN)->EnableWindow(TRUE); } else { GetDlgItem(IDC_BUTTONALARMIN)->EnableWindow(FALSE); } } void CRemoteAlarmConfig::OnButtonalarmin() { // TODO: Add your control notification handler code here CRemoteAlarmIn dlg; dlg.m_lpAlarmIn = &m_alarmincfg[m_alarmin]; dlg.m_iChannelnumber = m_iChannelnumber; dlg.m_lStartChannel = m_lStartChannel; dlg.m_dwAlarmOutNum = m_dwAlarmOutNum; dlg.m_dwAlarmInNum = m_dwAlarmInNum; if(dlg.DoModal()==IDOK) { bSetAlarmParams = TRUE; } } void CRemoteAlarmConfig::OnButtonptz() { // TODO: Add your control notification handler code here CRemotePTZCtrl dlg; dlg.m_lpAlarmIn = &m_alarmincfg[m_alarmin]; dlg.m_iChannelnumber = m_iChannelnumber; dlg.m_lStartChannel = m_lStartChannel; if(dlg.DoModal()==IDOK) { bSetAlarmParams = TRUE; } } void CRemoteAlarmConfig::OnIncopy() { // TODO: Add your control notification handler code here UpdateData(TRUE); int i; int m_nCopyAlarm = m_CopyInCtrl.GetCurSel() - 1; m_alarmincfg[m_alarmin].byAlarmInHandle = m_bAlarmIn; m_alarmincfg[m_alarmin].byAlarmType = m_AlarmInTypeCtrl.GetCurSel(); memcpy(m_alarmincfg[m_alarmin].sAlarmInName, m_AlarmInName, NAME_LEN); if(m_nCopyAlarm == -1) { for(i=0; i<(int)m_dwAlarmInNum; i++) { if(m_alarmin == i) continue; memcpy(&(m_alarmincfg[i]), &(m_alarmincfg[m_alarmin]), sizeof(NET_DVR_ALARMINCFG)); } } else { memcpy(&(m_alarmincfg[m_nCopyAlarm]), &(m_alarmincfg[m_alarmin]), sizeof(NET_DVR_ALARMINCFG)); } bSetAlarmParams = TRUE; } void CRemoteAlarmConfig::OnSelchangeComboalarmout() { if(m_pRemoteParam->m_dvrSelect == -1) return; // TODO: Add your control notification handler code here m_alarmout = m_AlarmOutCtrl.GetCurSel(); CString sTemp; m_AlarmOutCtrl.GetLBText(m_alarmout, sTemp); memcpy(m_alarmoutcfg[m_alarmout].sAlarmOutName, sTemp, NAME_LEN); TRACE("报警输出延时:%d", m_alarmoutcfg[m_alarmout].dwAlarmOutDelay); m_OutDelayCtrl.SetCurSel(m_alarmoutcfg[m_alarmout].dwAlarmOutDelay); m_WeekDayCtrl.SetCurSel(0); m_CopyTimeCtrl.SetCurSel(0); m_iHour11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStartHour; m_iMin11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStartMin; m_iHour12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStopHour; m_iMin12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][0].byStopMin; m_iHour21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStartHour; m_iMin21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStartMin; m_iHour22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStopHour; m_iMin22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][1].byStopMin; m_iHour31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStartHour; m_iMin31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStartMin; m_iHour32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStopHour; m_iMin32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][2].byStopMin; m_iHour41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStartHour; m_iMin41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStartMin; m_iHour42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStopHour; m_iMin42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[0][3].byStopMin; UpdateData(FALSE); } void CRemoteAlarmConfig::OnSelchangeCombooutweekday() { if(m_pRemoteParam->m_dvrSelect == -1) return; // TODO: Add your control notification handler code here int i = m_WeekDayCtrl.GetCurSel(); m_iHour11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartHour; m_iMin11 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartMin; m_iHour12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopHour; m_iMin12 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopMin; m_iHour21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartHour; m_iMin21 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartMin; m_iHour22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopHour; m_iMin22 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopMin; m_iHour31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartHour; m_iMin31 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartMin; m_iHour32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopHour; m_iMin32 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopMin; m_iHour41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartHour; m_iMin41 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartMin; m_iHour42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopHour; m_iMin42 = m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopMin; UpdateData(FALSE); } void CRemoteAlarmConfig::OnOuttimeok() { if(m_pRemoteParam->m_dvrSelect == -1) return; // TODO: Add your control notification handler code here UpdateData(TRUE); if(!F_TimeTest()) return; int i = m_WeekDayCtrl.GetCurSel(); m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartHour = m_iHour11; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartMin = m_iMin11; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopHour = m_iHour12; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopMin = m_iMin12; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartHour = m_iHour21; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartMin = m_iMin21; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopHour = m_iHour22; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopMin = m_iMin22; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartHour = m_iHour31; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartMin = m_iMin31; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopHour = m_iHour32; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopMin = m_iMin32; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartHour = m_iHour41; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartMin = m_iMin41; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopHour = m_iHour42; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopMin = m_iMin42; GetDlgItem(IDC_OUTTIMECOPY)->EnableWindow(TRUE); } void CRemoteAlarmConfig::OnOuttimecopy() { // TODO: Add your control notification handler code here UpdateData(TRUE); int j,k; int i = m_WeekDayCtrl.GetCurSel(); int m_nCopyTime = m_CopyTimeCtrl.GetCurSel() - 1; if(m_nCopyTime == -1) { for(j=0; j 24) || (m_iHour12 < 0) || (m_iHour12 > 24) || \ (m_iHour21 < 0) || (m_iHour21 > 24) || (m_iHour22 < 0) || (m_iHour22 > 24) || \ (m_iHour31 < 0) || (m_iHour31 > 24) || (m_iHour32 < 0) || (m_iHour32 > 24) || \ (m_iHour41 < 0) || (m_iHour41 > 24) || (m_iHour42 < 0) || (m_iHour42 > 24) ) { MessageBox("小时的范围在0 -- 24之间!", "温馨提示", MB_ICONINFORMATION); return FALSE; } if( (m_iMin11 < 0) || (m_iMin11 > 60) || (m_iMin12 < 0) || (m_iMin12 > 60) || \ (m_iMin21 < 0) || (m_iMin21 > 60) || (m_iMin22 < 0) || (m_iMin22 > 60) || \ (m_iMin31 < 0) || (m_iMin31 > 60) || (m_iMin32 < 0) || (m_iMin32 > 60) || \ (m_iMin41 < 0) || (m_iMin41 > 60) || (m_iMin42 < 0) || (m_iMin42 > 60) ) { MessageBox("分钟的范围在0 -- 60之间!", "温馨提示", MB_ICONINFORMATION); return FALSE; } wStartTime[0] = m_iHour11 * 100 + m_iMin11; wStartTime[1] = m_iHour21 * 100 + m_iMin21; wStartTime[2] = m_iHour31 * 100 + m_iMin31; wStartTime[3] = m_iHour41 * 100 + m_iMin41; wStopTime[0] = m_iHour12 * 100 + m_iMin12; wStopTime[1] = m_iHour22 * 100 + m_iMin22; wStopTime[2] = m_iHour32 * 100 + m_iMin32; wStopTime[3] = m_iHour42 * 100 + m_iMin42; for(i = 0; i < 4; i++) { if( (wStartTime[i] > 2400) || (wStopTime[i] > 2400) ) { MessageBox("布防时间不能超过24:00!", "温馨提示", MB_ICONINFORMATION); return FALSE; } if(wStartTime[i] > wStopTime[i]) { MessageBox("布防起始时间不能大于停止时间!", "温馨提示", MB_ICONINFORMATION); return FALSE; } for(j = 0; j < 4; j++) { if (i == j) continue; if( (wStartTime[i] > wStartTime[j]) && (wStartTime[i] < wStopTime[j]) || \ (wStopTime[i] > wStartTime[j]) && (wStopTime[i] < wStopTime[j]) ) { MessageBox("布防时间段不能重复!", "温馨提示", MB_ICONINFORMATION); return FALSE; } } } return TRUE; } void CRemoteAlarmConfig::OnInok() { if(m_pRemoteParam->m_dvrSelect == -1) return; // TODO: Add your control notification handler code here UpdateData(TRUE); m_alarmincfg[m_alarmin].byAlarmInHandle = m_bAlarmIn; m_alarmincfg[m_alarmin].byAlarmType = m_AlarmInTypeCtrl.GetCurSel(); memcpy(m_alarmincfg[m_alarmin].sAlarmInName, m_AlarmInName, NAME_LEN); bSetAlarmParams = TRUE; } void CRemoteAlarmConfig::OnAlarmcfgok() { if(m_pRemoteParam->m_dvrSelect == -1) return; // TODO: Add your control notification handler code here UpdateData(TRUE); if(!F_TimeTest()) return; int i = m_WeekDayCtrl.GetCurSel(); m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartHour = m_iHour11; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStartMin = m_iMin11; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopHour = m_iHour12; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][0].byStopMin = m_iMin12; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartHour = m_iHour21; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStartMin = m_iMin21; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopHour = m_iHour22; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][1].byStopMin = m_iMin22; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartHour = m_iHour31; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStartMin = m_iMin31; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopHour = m_iHour32; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][2].byStopMin = m_iMin32; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartHour = m_iHour41; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStartMin = m_iMin41; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopHour = m_iHour42; m_alarmoutcfg[m_alarmout].struAlarmOutTime[i][3].byStopMin = m_iMin42; memcpy(m_alarmincfg[m_alarmin].sAlarmInName, m_AlarmInName, NAME_LEN); m_alarmincfg[m_alarmin].byAlarmInHandle = m_bAlarmIn; m_alarmincfg[m_alarmin].byAlarmType = m_AlarmInTypeCtrl.GetCurSel(); m_alarmoutcfg[m_alarmout].dwAlarmOutDelay = m_OutDelayCtrl.GetCurSel(); bSetAlarmParams = TRUE; } void CRemoteAlarmConfig::OnCancel() { // TODO: Add your control notification handler code here }