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

📄 remotechannelconfig.cpp

📁 SDK DVR/DVS HIKVISION
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	{
		m_bHideAlarm = TRUE;
	}
	else
	{
		m_bHideAlarm = FALSE;
	}
	GetDlgItem(IDC_BUTHIDEALARM)->EnableWindow(m_bHideAlarm);
	m_bChanname = m_piccfg[m_nChanSel].dwShowChanName;	
	m_channame_x = m_piccfg[m_nChanSel].wShowNameTopLeftX;
	m_channame_y = m_piccfg[m_nChanSel].wShowNameTopLeftY;
	m_bOsd = m_piccfg[m_nChanSel].dwShowOsd;	
	m_osd_x = m_piccfg[m_nChanSel].wOSDTopLeftX;
	m_osd_y = m_piccfg[m_nChanSel].wOSDTopLeftY;
	m_bDispWeek = m_piccfg[m_nChanSel].byDispWeek;
	m_OsdAttrib.SetCurSel(m_piccfg[m_nChanSel].byOSDAttrib-1);
	m_OsdType.SetCurSel(m_piccfg[m_nChanSel].byOSDType);

	m_bVideoLost = m_piccfg[m_nChanSel].struVILost.byEnableHandleVILost;
	GetDlgItem(IDC_BUTVILOST)->EnableWindow(m_bVideoLost);
	
	GetDlgItem(IDCHANCFGOK)->EnableWindow(TRUE);
	UpdateData(FALSE);
}

void CRemoteChannelConfig::OnSelchangeCombocopychan() 
{
	// TODO: Add your control notification handler code here
	m_nCopyChanNum = m_CopyChannelCtrl.GetCurSel() - 1;
}

void CRemoteChannelConfig::OnChancfgok() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);	
	int nTemp = 0;
	memcpy(m_piccfg[m_nChanSel].sChanName,m_ChannelName,NAME_LEN);
	
	m_record[m_nChanSel].dwRecord = m_bRecord;
	m_record[m_nChanSel].dwRecordTime = m_DelayCtrl.GetCurSel();
	m_record[m_nChanSel].dwPreRecordTime = m_PreRecordTime.GetCurSel();
	
	m_piccfg[m_nChanSel].dwEnableHide = m_bHide;
	m_piccfg[m_nChanSel].struMotion.byEnableHandleMotion = m_bMotion;
	if(!m_bHideAlarm)
	{
		m_piccfg[m_nChanSel].struHideAlarm.dwEnableHideAlarm = m_bHideAlarm;
	}
	m_piccfg[m_nChanSel].dwShowChanName = m_bChanname;
	m_piccfg[m_nChanSel].wShowNameTopLeftX = m_channame_x;
	m_piccfg[m_nChanSel].wShowNameTopLeftY = m_channame_y;
	m_piccfg[m_nChanSel].dwShowOsd = m_bOsd;
	m_piccfg[m_nChanSel].wOSDTopLeftX = m_osd_x;
	m_piccfg[m_nChanSel].wOSDTopLeftY = m_osd_y;
	m_piccfg[m_nChanSel].byDispWeek = m_bDispWeek;
	m_piccfg[m_nChanSel].byOSDAttrib = m_OsdAttrib.GetCurSel()+1;
	m_piccfg[m_nChanSel].byOSDType = m_OsdType.GetCurSel();

	m_piccfg[m_nChanSel].struVILost.byEnableHandleVILost = m_bVideoLost;
	
	bSetChannelPara[m_nChanSel] = TRUE;
	GetDlgItem(IDC_BUTCHANCOPY)->EnableWindow(TRUE);
}

void CRemoteChannelConfig::OnChancfgexit() 
{
	// TODO: Add your control notification handler code here
	for(int i=0; i<m_iChannelnumber; i++)
	{
		bSetChannelPara[i] = FALSE;
	}
}

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


void CRemoteChannelConfig::OnChkmotion() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_bMotion)
		GetDlgItem(IDC_BUTMOTION)->EnableWindow(TRUE);
	else
		GetDlgItem(IDC_BUTMOTION)->EnableWindow(FALSE);
}

void CRemoteChannelConfig::OnChkhidealarm() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_bHideAlarm)
		GetDlgItem(IDC_BUTHIDEALARM)->EnableWindow(TRUE);
	else
		GetDlgItem(IDC_BUTHIDEALARM)->EnableWindow(FALSE);
}

void CRemoteChannelConfig::OnButhidealarm() 
{
	// TODO: Add your control notification handler code here
	CRemoteHideAlarm Dlg;

	lpHideAlarm = &(m_piccfg[m_nChanSel].struHideAlarm);
	Dlg.m_iChannel = m_nChanNum;
	Dlg.m_lServerID = m_lServerID;
	Dlg.m_dwAlarmOutNum = m_dwAlarmOutNum;
	if(Dlg.DoModal() == IDOK)
	{
		bSetChannelPara[m_nChanSel] = TRUE;
	}
}

void CRemoteChannelConfig::OnSelchangeCombobitrate() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_BitRateCtrl.GetCurSel() == 22)	//self-define bitrate
	{
		GetDlgItem(IDC_EDITBITRATE)->EnableWindow(TRUE);
	}
	else
	{
		GetDlgItem(IDC_EDITBITRATE)->EnableWindow(FALSE);
	}
}

void CRemoteChannelConfig::OnChkvideolost() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	GetDlgItem(IDC_BUTVILOST)->EnableWindow(m_bVideoLost);	
}

void CRemoteChannelConfig::OnButvilost() 
{
	// TODO: Add your control notification handler code here
	CVideoLost Dlg;
	
	lpVILost = &(m_piccfg[m_nChanSel].struVILost);
	Dlg.m_iChannel = m_nChanNum;
	Dlg.m_lServerID = m_lServerID;
	Dlg.m_dwAlarmOutNum = m_dwAlarmOutNum;
	if(Dlg.DoModal() == IDOK)
	{
		bSetChannelPara[m_nChanSel] = TRUE;
	}
}

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

void CRemoteChannelConfig::OnSelchangeComboframerate() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	WORD temp = m_FrameRateCtrl.GetCurSel();
	m_FrameI = getFrameI(temp);	
	UpdateData(FALSE);
	
}



void CRemoteChannelConfig::OnSelchangeCombocompress() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);

	GetDlgItem(IDC_EDITFRAMEI)->EnableWindow(TRUE);
	GetDlgItem(IDC_COMBOBPINTERVAL)->EnableWindow(TRUE);

	int sel = m_CompressCombo.GetCurSel();
	m_ResolutionCtrl.ResetContent();
	m_ResolutionCtrl.AddString("DCIF");
	m_ResolutionCtrl.AddString("CIF");
	m_ResolutionCtrl.AddString("QCIF");
	m_ResolutionCtrl.AddString("4CIF");
	m_ResolutionCtrl.AddString("2CIF");
	GetDlgItem(IDC_CHECKEVENT)->ShowWindow(SW_HIDE);
	
	GetDlgItem(IDC_COMBOSTREAMTYPE)->EnableWindow(TRUE);
	GetDlgItem(IDC_COMBORESOLUTION)->EnableWindow(TRUE);
	GetDlgItem(IDC_EDITFRAMEI)->EnableWindow(TRUE);
	GetDlgItem(IDC_COMBOBPINTERVAL)->EnableWindow(TRUE);
	switch(sel)
	{
	case 0:
		if((m_compressioncfg[m_nChanSel].struRecordPara.dwVideoBitrate >> 31) && 0x01)
		{
			GetDlgItem(IDC_EDITBITRATE)->EnableWindow(TRUE);
			m_BitRateCtrl.SetCurSel(22);		//self-define bitrate
			m_BitRate = m_compressioncfg[m_nChanSel].struRecordPara.dwVideoBitrate & 0x7fffffff;
		}
		else
		{
			m_BitRateCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struRecordPara.dwVideoBitrate-2);			
			m_BitRate = 0;
			GetDlgItem(IDC_EDITBITRATE)->EnableWindow(FALSE);
		}
		
		m_ResolutionCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struRecordPara.byResolution);
		m_StreamTypeCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struRecordPara.byStreamType);
		m_ImageQualityCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struRecordPara.byPicQuality);
		m_BitRateTypeCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struRecordPara.byBitrateType);
		m_FrameRateCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struRecordPara.dwVideoFrameRate);
		m_BPIntervalCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struRecordPara.byIntervalBPFrame);	
		m_FrameI = m_compressioncfg[m_nChanSel].struRecordPara.wIntervalFrameI;
		break;
	case 1:
		m_ResolutionCtrl.ResetContent();
		m_ResolutionCtrl.AddString("CIF");
		m_ResolutionCtrl.AddString("QCIF");

		if((m_compressioncfg[m_nChanSel].struNetPara.dwVideoBitrate >> 31) && 0x01)
		{
			GetDlgItem(IDC_EDITBITRATE)->EnableWindow(TRUE);
			m_BitRateCtrl.SetCurSel(22);		//self-define bitrate
			m_BitRate = m_compressioncfg[m_nChanSel].struNetPara.dwVideoBitrate & 0x7fffffff;
		}
		else
		{
			m_BitRateCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struNetPara.dwVideoBitrate-2);			
			m_BitRate = 0;
			GetDlgItem(IDC_EDITBITRATE)->EnableWindow(FALSE);
		}
		
		m_ResolutionCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struNetPara.byResolution-1);
		m_StreamTypeCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struNetPara.byStreamType);
		m_ImageQualityCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struNetPara.byPicQuality);
		m_BitRateTypeCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struNetPara.byBitrateType);
		m_FrameRateCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struNetPara.dwVideoFrameRate);
		m_BPIntervalCtrl.SetCurSel(m_compressioncfg[m_nChanSel].struNetPara.byIntervalBPFrame);	
		m_FrameI = m_compressioncfg[m_nChanSel].struNetPara.wIntervalFrameI;
		break;
	case 2:
		GetDlgItem(IDC_CHECKEVENT)->ShowWindow(SW_SHOW);
		GetDlgItem(IDC_COMBOSTREAMTYPE)->EnableWindow(FALSE);
		GetDlgItem(IDC_COMBORESOLUTION)->EnableWindow(FALSE);
		GetDlgItem(IDC_EDITFRAMEI)->EnableWindow(FALSE);
		GetDlgItem(IDC_COMBOBPINTERVAL)->EnableWindow(FALSE);

		if((m_compressioncfg_new[m_nChanSel].struRecordPara.dwVideoBitrate >> 31) && 0x01)
		{
			GetDlgItem(IDC_EDITBITRATE)->EnableWindow(TRUE);
			m_BitRateCtrl.SetCurSel(22);		//self-define bitrate
			m_BitRate = m_compressioncfg_new[m_nChanSel].struRecordPara.dwVideoBitrate & 0x7fffffff;
		}
		else
		{
			m_BitRateCtrl.SetCurSel(m_compressioncfg_new[m_nChanSel].struRecordPara.dwVideoBitrate-2);			
			m_BitRate = 0;
			GetDlgItem(IDC_EDITBITRATE)->EnableWindow(FALSE);
		}
		
		m_ResolutionCtrl.SetCurSel(m_compressioncfg_new[m_nChanSel].struRecordPara.byResolution);
		if (m_compressioncfg_new[m_nChanSel].struRecordPara.byStreamType & 0x80)
		{
			m_bEventEffect = TRUE;
			m_compressioncfg_new[m_nChanSel].struRecordPara.byStreamType &= 0x7f;
		}
		m_StreamTypeCtrl.SetCurSel(m_compressioncfg_new[m_nChanSel].struRecordPara.byStreamType);
		m_ImageQualityCtrl.SetCurSel(m_compressioncfg_new[m_nChanSel].struRecordPara.byPicQuality);
		m_BitRateTypeCtrl.SetCurSel(m_compressioncfg_new[m_nChanSel].struRecordPara.byBitrateType);
		m_FrameRateCtrl.SetCurSel(m_compressioncfg_new[m_nChanSel].struRecordPara.dwVideoFrameRate);
		break;
	default:
		break;
	}

	UpdateData(FALSE);
}

void CRemoteChannelConfig::OnSavepara() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);

	int nTemp = 0;
	int sel = m_CompressCombo.GetCurSel();
	switch(sel) {
	case 0:
		m_compressioncfg[m_nChanSel].struRecordPara.byStreamType = m_StreamTypeCtrl.GetCurSel();
		m_compressioncfg[m_nChanSel].struRecordPara.byPicQuality = m_ImageQualityCtrl.GetCurSel();
		if(m_BitRateCtrl.GetCurSel() == 22)	//self-define bitrate
		{
			nTemp = m_BitRate;
			nTemp |= 0x80000000;
			m_compressioncfg[m_nChanSel].struRecordPara.dwVideoBitrate = nTemp;
		}
		else
		{
			m_compressioncfg[m_nChanSel].struRecordPara.dwVideoBitrate = m_BitRateCtrl.GetCurSel()+2;
		}
		m_compressioncfg[m_nChanSel].struRecordPara.byResolution = m_ResolutionCtrl.GetCurSel();
		m_compressioncfg[m_nChanSel].struRecordPara.dwVideoFrameRate = m_FrameRateCtrl.GetCurSel();
		m_compressioncfg[m_nChanSel].struRecordPara.byBitrateType = m_BitRateTypeCtrl.GetCurSel();
		m_compressioncfg[m_nChanSel].struRecordPara.byIntervalBPFrame = m_BPIntervalCtrl.GetCurSel();
		m_compressioncfg[m_nChanSel].struRecordPara.wIntervalFrameI = m_FrameI;
		break;
	case 1:
		m_compressioncfg[m_nChanSel].struNetPara.byStreamType = m_StreamTypeCtrl.GetCurSel();
		m_compressioncfg[m_nChanSel].struNetPara.byPicQuality = m_ImageQualityCtrl.GetCurSel();
		if(m_BitRateCtrl.GetCurSel() == 22)	//self-define bitrate
		{
			nTemp = m_BitRate;
			nTemp |= 0x80000000;
			m_compressioncfg[m_nChanSel].struNetPara.dwVideoBitrate = nTemp;
		}
		else
		{
			m_compressioncfg[m_nChanSel].struNetPara.dwVideoBitrate = m_BitRateCtrl.GetCurSel()+2;
		}
		m_compressioncfg[m_nChanSel].struNetPara.byResolution = m_ResolutionCtrl.GetCurSel()+1;
		m_compressioncfg[m_nChanSel].struNetPara.dwVideoFrameRate = m_FrameRateCtrl.GetCurSel();
		m_compressioncfg[m_nChanSel].struNetPara.byBitrateType = m_BitRateTypeCtrl.GetCurSel();
		m_compressioncfg[m_nChanSel].struNetPara.byIntervalBPFrame = m_BPIntervalCtrl.GetCurSel();
		m_compressioncfg[m_nChanSel].struNetPara.wIntervalFrameI = m_FrameI;
		break;
	case 2:
		m_compressioncfg_new[m_nChanSel].struRecordPara.byStreamType = m_StreamTypeCtrl.GetCurSel();
		if (m_bEventEffect)
		{
			m_compressioncfg_new[m_nChanSel].struRecordPara.byStreamType |= 0x80;
		}
		m_compressioncfg_new[m_nChanSel].struRecordPara.byPicQuality = m_ImageQualityCtrl.GetCurSel();
		if(m_BitRateCtrl.GetCurSel() == 22)	//self-define bitrate
		{
			nTemp = m_BitRate;
			nTemp |= 0x80000000;
			m_compressioncfg_new[m_nChanSel].struRecordPara.dwVideoBitrate = nTemp;
		}
		else
		{
			m_compressioncfg_new[m_nChanSel].struRecordPara.dwVideoBitrate = m_BitRateCtrl.GetCurSel()+2;
		}
		m_compressioncfg_new[m_nChanSel].struRecordPara.byResolution = m_ResolutionCtrl.GetCurSel();
		m_compressioncfg_new[m_nChanSel].struRecordPara.dwVideoFrameRate = m_FrameRateCtrl.GetCurSel();
		m_compressioncfg_new[m_nChanSel].struRecordPara.byBitrateType = m_BitRateTypeCtrl.GetCurSel();
		break;
	default:
		break;
	}

	bSetChannelPara[m_nChanSel] = TRUE;
}

⌨️ 快捷键说明

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