⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 netctlmalarmdlg.cpp

📁 TM8000硬盘录像机客户端编程文档和Demo源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			    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 + -