📄 netctlmalarmdlg.cpp
字号:
Con_pDVRPara->PortConfig[k].tAlarmRecTable1[nWeek-1].nEndHour=m_EndTime1.GetHour();
Con_pDVRPara->PortConfig[k].tAlarmRecTable1[nWeek-1].nEndMinute=m_EndTime1.GetMinute();
Con_pDVRPara->PortConfig[k].tAlarmRecTable2[nWeek-1].nBgnHour=m_BgnTime2.GetHour();
Con_pDVRPara->PortConfig[k].tAlarmRecTable2[nWeek-1].nBgnMinute=m_BgnTime2.GetMinute();
Con_pDVRPara->PortConfig[k].tAlarmRecTable2[nWeek-1].nEndHour=m_EndTime2.GetHour();
Con_pDVRPara->PortConfig[k].tAlarmRecTable2[nWeek-1].nEndMinute=m_EndTime2.GetMinute();
}
else
{
Con_pDVRPara->PortConfigEx[k].tAlarmRecEveryday1.nBgnHour=m_BgnTime1.GetHour();
Con_pDVRPara->PortConfigEx[k].tAlarmRecEveryday1.nBgnMinute=m_BgnTime1.GetMinute();
Con_pDVRPara->PortConfigEx[k].tAlarmRecEveryday1.nEndHour=m_EndTime1.GetHour();
Con_pDVRPara->PortConfigEx[k].tAlarmRecEveryday1.nEndMinute=m_EndTime1.GetMinute();
Con_pDVRPara->PortConfigEx[k].tAlarmRecEveryday2.nBgnHour=m_BgnTime2.GetHour();
Con_pDVRPara->PortConfigEx[k].tAlarmRecEveryday2.nBgnMinute=m_BgnTime2.GetMinute();
Con_pDVRPara->PortConfigEx[k].tAlarmRecEveryday2.nEndHour=m_EndTime2.GetHour();
Con_pDVRPara->PortConfigEx[k].tAlarmRecEveryday2.nEndMinute=m_EndTime2.GetMinute();
}
}
}
}//if(Con_pDVRPara!=NULL)
}
void CNetCtlMAlarmDlg::OnDeltaposRrecMotiontimeSpin(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
UpdateData(TRUE) ;
if (pNMUpDown->iDelta > 0) {
if (m_RecTime > 1)
m_RecTime-- ;
}
else
{
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
if (m_RecTime < 255)
m_RecTime++ ;
}
else
{
if (m_RecTime < 255)
m_RecTime++ ;
}
}
UpdateData(FALSE) ;
*pResult = 0;
}
void CNetCtlMAlarmDlg::OnDeltaposRrecMotionsmartSpin(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
UpdateData(TRUE) ;
if (pNMUpDown->iDelta > 0)
{
if (m_Smart > 1)
m_Smart-- ;
}
else {
if (m_Smart < 99)
m_Smart++ ;
}
UpdateData(FALSE) ;
*pResult = 0;
}
void CNetCtlMAlarmDlg::OnSelchangeWeekTab(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
MoveSelChangePro();
*pResult = 0;
}
void CNetCtlMAlarmDlg::OnSelchangePortCombo()
{
// TODO: Add your control notification handler code here
MoveSelChangePro();
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
BYTE portno;
UpdateData(TRUE) ;
portno=m_PortCombo.GetCurSel();
nMotionOutput=Con_pDVRPara->PortConfigEx[portno].MotionAlarmOutTag;
nRecPort=Con_pDVRPara->PortConfigEx[portno].nAssociRecMark;
nSelDay=Con_pDVRPara->PortConfigEx[portno].AlarmRecDefendDayTag;
if(nSelDay&(1<<7))
nSelDay=1<<7;
PortSelChangePro();
}
else
{
BYTE portno, weekno;
UpdateData(TRUE) ;
portno=m_PortCombo.GetCurSel();
weekno = m_weekTab.GetCurSel() ;
if(weekno<0)
weekno=0;
pNetRemoteCtlDlg->GetDvrParam(portno+1,weekno+1,PARA_TYPE_ALARM_MOVE_PRAR,&m_MotionAlarmPamam,sizeof(MotionAlarmPamam));
nMotionOutput = m_MotionAlarmPamam.ContactAlarmOut;
nRecPort = m_MotionAlarmPamam.ContactRecChannel;
nSelDay = m_MotionAlarmPamam.IsDefend;
if(nSelDay&(1<<7))
nSelDay=1<<7;
PortSelChangePro();
}
}
void CNetCtlMAlarmDlg::MoveSelChangePro()
{
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
BYTE portno,weekno;
BYTE hour,minute;
UpdateData(TRUE) ;
weekno = m_weekTab.GetCurSel() ;
if(weekno<0)
weekno=0;
portno=m_PortCombo.GetCurSel();
m_RecTime=Con_pDVRPara->PortConfig[portno].nMotionAlarmTime;
m_Smart=Con_pDVRPara->PortConfig[portno].nMotionCheckSensitivity;
if(weekno==7)
{
hour=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday1.nBgnHour;
minute=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday1.nBgnMinute;
CTime time(2002,10,16,hour,minute,0,0);
m_BgnTime1=time;
hour=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday1.nEndHour;
minute=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday1.nEndMinute;
CTime time1(2002,10,16,hour,minute,0,0);
m_EndTime1=time1;
hour=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday2.nBgnHour;
minute=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday2.nBgnMinute;
CTime time2(2002,10,16,hour,minute,0,0);
m_BgnTime2=time2;
hour=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday2.nEndHour;
minute=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday2.nEndMinute;
CTime time3(2002,10,16,hour,minute,0,0);
m_EndTime2=time3;
}
else
{
hour=Con_pDVRPara->PortConfig[portno].tAlarmRecTable1[weekno].nBgnHour;
minute=Con_pDVRPara->PortConfig[portno].tAlarmRecTable1[weekno].nBgnMinute;
CTime time(2002,10,16,hour,minute,0,0);
m_BgnTime1=time;
hour=Con_pDVRPara->PortConfig[portno].tAlarmRecTable1[weekno].nEndHour;
minute=Con_pDVRPara->PortConfig[portno].tAlarmRecTable1[weekno].nEndMinute;
CTime time1(2002,10,16,hour,minute,0,0);
m_EndTime1=time1;
hour=Con_pDVRPara->PortConfig[portno].tAlarmRecTable2[weekno].nBgnHour;
minute=Con_pDVRPara->PortConfig[portno].tAlarmRecTable2[weekno].nBgnMinute;
CTime time2(2002,10,16,hour,minute,0,0);
m_BgnTime2=time2;
hour=Con_pDVRPara->PortConfig[portno].tAlarmRecTable2[weekno].nEndHour;
minute=Con_pDVRPara->PortConfig[portno].tAlarmRecTable2[weekno].nEndMinute;
CTime time3(2002,10,16,hour,minute,0,0);
m_EndTime2=time3;
}
if(nSelDay&1<<weekno)
m_MotionRec=TRUE;
else
m_MotionRec=FALSE;
if(nMotionOutput&1)
m_Output1=TRUE;
else
m_Output1=FALSE;
if(nMotionOutput&(1<<1))
m_Output2=TRUE;
else
m_Output2=FALSE;
if(nMotionOutput&(1<<2))
m_Output3=TRUE;
else
m_Output3=FALSE;
if(nMotionOutput&(1<<3))
m_Output4=TRUE;
else
m_Output4=FALSE;
UpdateData(FALSE);
}
else
{
BYTE portno,weekno;
BYTE hour,minute;
UpdateData(TRUE) ;
weekno = m_weekTab.GetCurSel() ;
if(weekno<0)
weekno=0;
portno=m_PortCombo.GetCurSel();
pNetRemoteCtlDlg->GetDvrParam(portno+1,weekno+1,PARA_TYPE_ALARM_MOVE_PRAR,&m_MotionAlarmPamam,sizeof(MotionAlarmPamam));
int tt=sizeof(MotionAlarmPamam);
//m_RecTime=Con_pDVRPara->PortConfig[portno].nMotionAlarmTime;
m_RecTime = (int)m_MotionAlarmPamam.MotionAlarmRecTime;
// m_Smart=(Con_pDVRPara->PortConfigEx[portno].nMotionCheck[12]>>24);
// m_Smart=(Con_pDVRPara->PortConfigEx[portno].nMotionCheck[3]>>24);
//m_Smart=Con_pDVRPara->PortConfig[portno].nMotionCheckSensitivity;
m_Smart = m_MotionAlarmPamam.MotionAlarmSensitivity;
//hour=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday1.nBgnHour;
//minute=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday1.nBgnMinute;
hour = m_MotionAlarmPamam.DefendStartHour1;
minute = m_MotionAlarmPamam.DefendStartMinute1;
CTime time(2002,10,16,hour,minute,0,0);
m_BgnTime1=time;
//hour=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday1.nEndHour;
//minute=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday1.nEndMinute;
hour = m_MotionAlarmPamam.DefendEndHour1;
minute = m_MotionAlarmPamam.DefendEndMinute1;
CTime time1(2002,10,16,hour,minute,0,0);
m_EndTime1=time1;
//hour=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday2.nBgnHour;
//minute=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday2.nBgnMinute;
hour = m_MotionAlarmPamam.DefendStartHour2;
minute = m_MotionAlarmPamam.DefendStartMinute2;
CTime time2(2002,10,16,hour,minute,0,0);
m_BgnTime2=time2;
//hour=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday2.nEndHour;
//minute=Con_pDVRPara->PortConfigEx[portno].tAlarmRecEveryday2.nEndMinute;
hour = m_MotionAlarmPamam.DefendEndHour2;
minute = m_MotionAlarmPamam.DefendEndMinute2;
CTime time3(2002,10,16,hour,minute,0,0);
m_EndTime2=time3;
if(nSelDay&1<<weekno)
m_MotionRec=TRUE;
else
m_MotionRec=FALSE;
if(nMotionOutput&1)
m_Output1=TRUE;
else
m_Output1=FALSE;
if(nMotionOutput&(1<<1))
m_Output2=TRUE;
else
m_Output2=FALSE;
if(nMotionOutput&(1<<2))
m_Output3=TRUE;
else
m_Output3=FALSE;
if(nMotionOutput&(1<<3))
m_Output4=TRUE;
else
m_Output4=FALSE;
// if(nMotionOutput&(1<<4))
// m_Output5=TRUE;
// else
// m_Output5=FALSE;
// if(nMotionOutput&(1<<5))
// m_Output6=TRUE;
// else
// m_Output6=FALSE;
// if(nMotionOutput&(1<<6))
// m_Output7=TRUE;
// else
// m_Output7=FALSE;
// if(nMotionOutput&(1<<7))
// m_Output8=TRUE;
// else
// m_Output8=FALSE;
UpdateData(FALSE);
}
}
//-------------------------------------------------
void CNetCtlMAlarmDlg::PortSelChangePro()
{
BYTE i=0,j=0;
BYTE weekno;
weekno=m_weekTab.GetCurSel();
if(weekno<0)
weekno=0;
if(nSelDay&1<<weekno)
m_MotionRec=TRUE;
else
m_MotionRec=FALSE;
if(nMotionOutput&1)
m_Output1=TRUE;
else
m_Output1=FALSE;
if(nMotionOutput&(1<<1))
m_Output2=TRUE;
else
m_Output2=FALSE;
if(nMotionOutput&(1<<2))
m_Output3=TRUE;
else
m_Output3=FALSE;
if(nMotionOutput&(1<<3))
m_Output4=TRUE;
else
m_Output4=FALSE;
if(nRecPort&1)
m_RecPort1=TRUE;
else
m_RecPort1=FALSE;
if(nRecPort&(1<<1))
m_RecPort2=TRUE;
else
m_RecPort2=FALSE;
if(nRecPort&(1<<2))
m_RecPort3=TRUE;
else
m_RecPort3=FALSE;
if(nRecPort&(1<<3))
m_RecPort4=TRUE;
else
m_RecPort4=FALSE;
if(nRecPort&(1<<4))
m_RecPort5=TRUE;
else
m_RecPort5=FALSE;
if(nRecPort&(1<<5))
m_RecPort6=TRUE;
else
m_RecPort6=FALSE;
if(nRecPort&(1<<6))
m_RecPort7=TRUE;
else
m_RecPort7=FALSE;
if(nRecPort&(1<<7))
m_RecPort8=TRUE;
else
m_RecPort8=FALSE;
if(nRecPort&(1<<8))
m_RecPort9=TRUE;
else
m_RecPort9=FALSE;
if(nRecPort&(1<<9))
m_RecPort10=TRUE;
else
m_RecPort10=FALSE;
if(nRecPort&(1<<10))
m_RecPort11=TRUE;
else
m_RecPort11=FALSE;
if(nRecPort&(1<<11))
m_RecPort12=TRUE;
else
m_RecPort12=FALSE;
if(nRecPort&(1<<12))
m_RecPort13=TRUE;
else
m_RecPort13=FALSE;
if(nRecPort&(1<<13))
m_RecPort14=TRUE;
else
m_RecPort14=FALSE;
if(nRecPort&(1<<14))
m_RecPort15=TRUE;
else
m_RecPort15=FALSE;
if(nRecPort&(1<<15))
m_RecPort16=TRUE;
else
m_RecPort16=FALSE;
UpdateData(FALSE);
}
//------------------------------------------------
BOOL CNetCtlMAlarmDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
DWORD t1=0;
DWORD t2=0;
t1=pMsg->message;
t2=(DWORD)pMsg->wParam;
if(t1==WM_KEYDOWN&&(t2==VK_RETURN||t2==VK_ESCAPE))
return true;
return CDialog::PreTranslateMessage(pMsg);
}
void CNetCtlMAlarmDlg::Refresh()
{
char * l_Port;
char * l_AlarmRecord;
if(ENGLISH)
{
l_Port=_T("Channel");
l_AlarmRecord=_T("Alarm record time(second):");
}
else
{
l_Port=_T("通道");
l_AlarmRecord=_T("报警录像时间(秒):");
}
//#endif
m_PortCombo.ResetContent() ;
/////
int DVRHardWareType;
TM8100_NET_NODE*pCur;
pCur = pNetNodeHead;
while(pCur!=NULL)
{
if(pCur->ipAddr!=pNetRemoteCtlDlg->m_nIpAddr)
pCur = pCur->next;
else
{
DVRHardWareType = pCur->DVRHardWareType;
pCur = pCur->next;
}
}
int ID[16]={IDC_CHK_RECPORT1,IDC_CHK_RECPORT2,IDC_CHK_RECPORT3,IDC_CHK_RECPORT4,
IDC_CHK_RECPORT5,IDC_CHK_RECPORT6,IDC_CHK_RECPORT7,IDC_CHK_RECPORT8,
IDC_CHK_RECPORT9,IDC_CHK_RECPORT10,IDC_CHK_RECPORT11,IDC_CHK_RECPORT12,
IDC_CHK_RECPORT13,IDC_CHK_RECPORT14,IDC_CHK_RECPORT15,IDC_CHK_RECPORT16};
// 屏蔽移动报警联动录像功能
GetDlgItem(IDC_STATIC_RECPORT)->ShowWindow(SW_HIDE);
for(int j =0;j<16;j++)
{
GetDlgItem(ID[j])->ShowWindow(SW_HIDE);
}
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
for (int i=0;i<Con_pDVRPara->nPortNo ;i++)
{
CString str ;
str.Format("%s%02d",l_Port,i+1) ;
m_PortCombo.AddString(str) ;
}
if(Con_pDVRPara->nPortNo==2)
{// 两通道主机支持8路联动录象
GetDlgItem(IDC_STATIC_RECPORT)->ShowWindow(SW_SHOW);
for(int j =0;j<8;j++)
{
GetDlgItem(ID[j])->ShowWindow(SW_SHOW);
}
}
}
else
{
for (int i=0;i<m_LoginParam.ChannelCount;i++)
{
CString str ;
str.Format("%s%02d",l_Port,i+1) ;
m_PortCombo.AddString(str) ;
}
for(int j =0;j<m_LoginParam.ChannelCount;j++)
{
if((DVRHardWareType==2) || (DVRHardWareType==6))
{// 88系列主机有报警联动录像功能
GetDlgItem(ID[j])->ShowWindow(SW_SHOW);
}
else
{
GetDlgItem(ID[j])->ShowWindow(SW_HIDE);
}
}
}
m_cRecTime.SetLimitText(3);
GetDlgItem(IDC_STATICALARMRECORD)->SetWindowText(l_AlarmRecord);
if(m_PortCombo.GetCount()>0)
{
m_PortCombo.SetCurSel(0);
OnSelchangePortCombo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -