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

📄 remotealarmin.cpp

📁 SDK DVR/DVS HIKVISION
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	}
}

void CRemoteAlarmIn::OnInok() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(!F_TimeTest())
		return;
	int	i = m_WeekDayCtrl.GetCurSel();	
	m_lpAlarmIn->struAlarmTime[i][0].byStartHour = m_iHour11;
	m_lpAlarmIn->struAlarmTime[i][0].byStartMin = m_iMin11;
	m_lpAlarmIn->struAlarmTime[i][0].byStopHour = m_iHour12;
	m_lpAlarmIn->struAlarmTime[i][0].byStopMin = m_iMin12;
	m_lpAlarmIn->struAlarmTime[i][1].byStartHour = m_iHour21;
	m_lpAlarmIn->struAlarmTime[i][1].byStartMin = m_iMin21;
	m_lpAlarmIn->struAlarmTime[i][1].byStopHour = m_iHour22;
	m_lpAlarmIn->struAlarmTime[i][1].byStopMin = m_iMin22;
	m_lpAlarmIn->struAlarmTime[i][2].byStartHour = m_iHour31;
	m_lpAlarmIn->struAlarmTime[i][2].byStartMin = m_iMin31;
	m_lpAlarmIn->struAlarmTime[i][2].byStopHour = m_iHour32;
	m_lpAlarmIn->struAlarmTime[i][2].byStopMin = m_iMin32;
	m_lpAlarmIn->struAlarmTime[i][3].byStartHour = m_iHour41;
	m_lpAlarmIn->struAlarmTime[i][3].byStartMin = m_iMin41;
	m_lpAlarmIn->struAlarmTime[i][3].byStopHour = m_iHour42;
	m_lpAlarmIn->struAlarmTime[i][3].byStopMin = m_iMin42;
	
	m_lpAlarmIn->byRelRecordChan[0] = m_bRecordChan1;
	m_lpAlarmIn->byRelRecordChan[1] = m_bRecordChan2;
	m_lpAlarmIn->byRelRecordChan[2] = m_bRecordChan3;
	m_lpAlarmIn->byRelRecordChan[3] = m_bRecordChan4;
	m_lpAlarmIn->byRelRecordChan[4] = m_bRecordChan5;
	m_lpAlarmIn->byRelRecordChan[5] = m_bRecordChan6;
	m_lpAlarmIn->byRelRecordChan[6] = m_bRecordChan7;
	m_lpAlarmIn->byRelRecordChan[7] = m_bRecordChan8;
	m_lpAlarmIn->byRelRecordChan[8] = m_bRecordChan9;
	m_lpAlarmIn->byRelRecordChan[9] = m_bRecordChan10;
	m_lpAlarmIn->byRelRecordChan[10] = m_bRecordChan11;
	m_lpAlarmIn->byRelRecordChan[11] = m_bRecordChan12;
	m_lpAlarmIn->byRelRecordChan[12] = m_bRecordChan13;
	m_lpAlarmIn->byRelRecordChan[13] = m_bRecordChan14;
	m_lpAlarmIn->byRelRecordChan[14] = m_bRecordChan15;
	m_lpAlarmIn->byRelRecordChan[15] = m_bRecordChan16;
	m_lpAlarmIn->struAlarmHandleType.dwHandleType = 0;
	m_lpAlarmIn->struAlarmHandleType.dwHandleType |= (m_bHandleType1 << 0);
	m_lpAlarmIn->struAlarmHandleType.dwHandleType |= (m_bHandleType2 << 1);
	m_lpAlarmIn->struAlarmHandleType.dwHandleType |= (m_bHandleType3 << 2);
	m_lpAlarmIn->struAlarmHandleType.dwHandleType |= (m_bHandleType4 << 3);
	m_lpAlarmIn->struAlarmHandleType.byRelAlarmOut[0] = m_bAlarmOut1;
	m_lpAlarmIn->struAlarmHandleType.byRelAlarmOut[1] = m_bAlarmOut2;
	m_lpAlarmIn->struAlarmHandleType.byRelAlarmOut[2] = m_bAlarmOut3;
	m_lpAlarmIn->struAlarmHandleType.byRelAlarmOut[3] = m_bAlarmOut4;
	CDialog::OnOK();
}

void CRemoteAlarmIn::OnInexit() 
{
	// TODO: Add your control notification handler code here
	CDialog::OnCancel();
}

void CRemoteAlarmIn::EnableControl(BOOL bEnable)
{
	if(m_dwAlarmOutNum >= 1)
	{
		GetDlgItem(IDC_CHKALARMOUT1)->EnableWindow(bEnable);
		m_bAlarmOut1 = m_lpAlarmIn->struAlarmHandleType.byRelAlarmOut[0];
	}
	if(m_dwAlarmOutNum >= 2)
	{
		GetDlgItem(IDC_CHKALARMOUT2)->EnableWindow(bEnable);
		m_bAlarmOut2 = m_lpAlarmIn->struAlarmHandleType.byRelAlarmOut[1];
	}
	if(m_dwAlarmOutNum >= 3)
	{
		GetDlgItem(IDC_CHKALARMOUT3)->EnableWindow(bEnable);
		m_bAlarmOut3 = m_lpAlarmIn->struAlarmHandleType.byRelAlarmOut[2];
	}
	if(m_dwAlarmOutNum >= 4)
	{
		GetDlgItem(IDC_CHKALARMOUT4)->EnableWindow(bEnable);
		m_bAlarmOut4 = m_lpAlarmIn->struAlarmHandleType.byRelAlarmOut[3];
	}
}

void CRemoteAlarmIn::OnCheckhandletype4() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	EnableControl(m_bHandleType4);
}

BOOL CRemoteAlarmIn::F_TimeTest()
{
	int i, j;
	WORD wStartTime[4], wStopTime[4];
	
	UpdateData(TRUE);
	if( (m_iHour11 < 0) || (m_iHour11 > 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) )
	{
		AfxMessageBox("Hour range must be 0 -- 24!");
		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) )
	{
		AfxMessageBox("Minute range must be 0 -- 60!");
		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) )
		{
			AfxMessageBox("Record time must not exceed 24:00!");
			return FALSE;
		}
		if(wStartTime[i] > wStopTime[i])
		{
			AfxMessageBox("Start time must be less than stop time!");
			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]) )
			{
				AfxMessageBox("Record period must not repeat!");
				return FALSE;
			}
		}
	}
	return TRUE;
}

BOOL CRemoteAlarmIn::F_ShowRecordChan(int nChan)
{
	if(nChan>=1)
	{
		GetDlgItem(IDC_CHKRECORDCHAN1)->EnableWindow(TRUE);
		m_bRecordChan1 = m_lpAlarmIn->byRelRecordChan[0];
	}
	if(nChan>=2)
	{
		GetDlgItem(IDC_CHKRECORDCHAN2)->EnableWindow(TRUE);
		m_bRecordChan2 = m_lpAlarmIn->byRelRecordChan[1];
	}
	if(nChan>=3)
	{
		GetDlgItem(IDC_CHKRECORDCHAN3)->EnableWindow(TRUE);
		m_bRecordChan3 = m_lpAlarmIn->byRelRecordChan[2];
	}
	if(nChan>=4)
	{
		GetDlgItem(IDC_CHKRECORDCHAN4)->EnableWindow(TRUE);
		m_bRecordChan4 = m_lpAlarmIn->byRelRecordChan[3];
	}
	if(nChan>=5)
	{
		GetDlgItem(IDC_CHKRECORDCHAN5)->EnableWindow(TRUE);
		m_bRecordChan5 = m_lpAlarmIn->byRelRecordChan[4];
	}
	if(nChan>=6)
	{
		GetDlgItem(IDC_CHKRECORDCHAN6)->EnableWindow(TRUE);
		m_bRecordChan6 = m_lpAlarmIn->byRelRecordChan[5];
	}
	if(nChan>=7)
	{
		GetDlgItem(IDC_CHKRECORDCHAN7)->EnableWindow(TRUE);
		m_bRecordChan7 = m_lpAlarmIn->byRelRecordChan[6];
	}
	if(nChan>=8)
	{
		GetDlgItem(IDC_CHKRECORDCHAN8)->EnableWindow(TRUE);
		m_bRecordChan8 = m_lpAlarmIn->byRelRecordChan[7];
	}
	if(nChan>=9)
	{
		GetDlgItem(IDC_CHKRECORDCHAN9)->EnableWindow(TRUE);
		m_bRecordChan9 = m_lpAlarmIn->byRelRecordChan[8];
	}
	if(nChan>=10)
	{
		GetDlgItem(IDC_CHKRECORDCHAN10)->EnableWindow(TRUE);
		m_bRecordChan10 = m_lpAlarmIn->byRelRecordChan[9];
	}
	if(nChan>=11)
	{
		GetDlgItem(IDC_CHKRECORDCHAN11)->EnableWindow(TRUE);
		m_bRecordChan11 = m_lpAlarmIn->byRelRecordChan[10];
	}
	if(nChan>=12)
	{
		GetDlgItem(IDC_CHKRECORDCHAN12)->EnableWindow(TRUE);
		m_bRecordChan12 = m_lpAlarmIn->byRelRecordChan[11];
	}
	if(nChan>=13)
	{
		GetDlgItem(IDC_CHKRECORDCHAN13)->EnableWindow(TRUE);
		m_bRecordChan13 = m_lpAlarmIn->byRelRecordChan[12];
	}
	if(nChan>=14)
	{
		GetDlgItem(IDC_CHKRECORDCHAN14)->EnableWindow(TRUE);
		m_bRecordChan14 = m_lpAlarmIn->byRelRecordChan[13];
	}
	if(nChan>=15)
	{
		GetDlgItem(IDC_CHKRECORDCHAN15)->EnableWindow(TRUE);
		m_bRecordChan15 = m_lpAlarmIn->byRelRecordChan[14];
	}
	if(nChan>=16)
	{
		GetDlgItem(IDC_CHKRECORDCHAN16)->EnableWindow(TRUE);
		m_bRecordChan16 = m_lpAlarmIn->byRelRecordChan[15];
	}
	return TRUE;
}


void CRemoteAlarmIn::OnCancel() 
{
	// TODO: Add extra cleanup here
	
//	CDialog::OnCancel();
}
void CRemoteAlarmIn::OnOK() 
{
	// TODO: Add extra cleanup here
	
	//	CDialog::OnOK();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -