📄 remotechannelconfig.cpp
字号:
m_compressioncfg[i].struRecordPara.wIntervalFrameI = m_FrameI;
break;
case 1:
m_compressioncfg[i].struNetPara.byStreamType = m_StreamTypeCtrl.GetCurSel();
m_compressioncfg[i].struNetPara.byPicQuality = m_ImageQualityCtrl.GetCurSel();
if(m_BitRateCtrl.GetCurSel() == 22) //self-define bitrate
{
nTemp = m_BitRate;
nTemp |= 0x80000000;
m_compressioncfg[i].struNetPara.dwVideoBitrate = nTemp;
}
else
{
m_compressioncfg[i].struNetPara.dwVideoBitrate = m_BitRateCtrl.GetCurSel()+2;
}
m_compressioncfg[i].struNetPara.byResolution = m_ResolutionCtrl.GetCurSel();
m_compressioncfg[i].struNetPara.dwVideoFrameRate = m_FrameRateCtrl.GetCurSel();
m_compressioncfg[i].struNetPara.byBitrateType = m_BitRateTypeCtrl.GetCurSel();
m_compressioncfg[i].struNetPara.byIntervalBPFrame = m_BPIntervalCtrl.GetCurSel();
m_compressioncfg[i].struNetPara.wIntervalFrameI = m_FrameI;
break;
case 2:
m_compressioncfg_new[i].struRecordPara.byStreamType = m_StreamTypeCtrl.GetCurSel();
m_compressioncfg_new[i].struRecordPara.byPicQuality = m_ImageQualityCtrl.GetCurSel();
if(m_BitRateCtrl.GetCurSel() == 22) //self-define bitrate
{
nTemp = m_BitRate;
nTemp |= 0x80000000;
m_compressioncfg_new[i].struRecordPara.dwVideoBitrate = nTemp;
}
else
{
m_compressioncfg_new[i].struRecordPara.dwVideoBitrate = m_BitRateCtrl.GetCurSel()+2;
}
m_compressioncfg_new[i].struRecordPara.byResolution = m_ResolutionCtrl.GetCurSel();
m_compressioncfg_new[i].struRecordPara.dwVideoFrameRate = m_FrameRateCtrl.GetCurSel();
m_compressioncfg_new[i].struRecordPara.byBitrateType = m_BitRateTypeCtrl.GetCurSel();
break;
default:
break;
}
m_record[i].dwRecord = m_bRecord;
m_record[i].dwRecordTime = m_DelayCtrl.GetCurSel();
m_record[i].dwPreRecordTime = m_PreRecordTime.GetCurSel();
//copy record schedule
for(int k=0; k<MAX_DAYS; k++)
{
memcpy(&(m_record[i].struRecAllDay[k]), &(m_record[m_nChanSel].struRecAllDay[k]), sizeof(NET_DVR_RECORDDAY));
for(int j=0; j<MAX_TIMESEGMENT; j++)
{
memcpy(&m_record[i].struRecordSched[k][j],&m_record[m_nChanSel].struRecordSched[k][j],sizeof(NET_DVR_RECORDSCHED));
}
}
m_piccfg[i].dwEnableHide = m_bHide;
m_piccfg[i].struMotion.byEnableHandleMotion = m_bMotion;
if(!m_bHideAlarm)
{
m_piccfg[i].struHideAlarm.dwEnableHideAlarm = m_bHideAlarm;
}
m_piccfg[i].dwShowChanName = m_bChanname;
m_piccfg[i].wShowNameTopLeftX = m_channame_x;
m_piccfg[i].wShowNameTopLeftY = m_channame_y;
m_piccfg[i].dwShowOsd = m_bOsd;
m_piccfg[i].wOSDTopLeftX = m_osd_x;
m_piccfg[i].wOSDTopLeftY = m_osd_y;
m_piccfg[i].byDispWeek = m_bDispWeek;
m_piccfg[i].byOSDAttrib = m_OsdAttrib.GetCurSel()+1;
m_piccfg[i].byOSDType = m_OsdType.GetCurSel();
m_piccfg[i].struVILost.byEnableHandleVILost = m_bVideoLost;
//copy video parameters
m_piccfg[i].byBrightness = m_piccfg[m_nChanSel].byBrightness;
m_piccfg[i].byContrast = m_piccfg[m_nChanSel].byContrast;
m_piccfg[i].byHue = m_piccfg[m_nChanSel].byHue;
m_piccfg[i].bySaturation = m_piccfg[m_nChanSel].bySaturation;
bSetChannelPara[i] = TRUE;
}
}
else
{
int sel = m_CompressCombo.GetCurSel();
switch(sel) {
case 0:
m_compressioncfg[m_nCopyChanNum].struRecordPara.byStreamType = m_StreamTypeCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struRecordPara.byPicQuality = m_ImageQualityCtrl.GetCurSel();
if(m_BitRateCtrl.GetCurSel() == 22) //self-define bitrate
{
nTemp = m_BitRate;
nTemp |= 0x80000000;
m_compressioncfg[m_nCopyChanNum].struRecordPara.dwVideoBitrate = nTemp;
}
else
{
m_compressioncfg[m_nCopyChanNum].struRecordPara.dwVideoBitrate = m_BitRateCtrl.GetCurSel()+2;
}
m_compressioncfg[m_nCopyChanNum].struRecordPara.byResolution = m_ResolutionCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struRecordPara.dwVideoFrameRate = m_FrameRateCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struRecordPara.byBitrateType = m_BitRateTypeCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struRecordPara.byIntervalBPFrame = m_BPIntervalCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struRecordPara.wIntervalFrameI = m_FrameI;
break;
case 1:
m_compressioncfg[m_nCopyChanNum].struNetPara.byStreamType = m_StreamTypeCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struNetPara.byPicQuality = m_ImageQualityCtrl.GetCurSel();
if(m_BitRateCtrl.GetCurSel() == 22) //self-define bitrate
{
nTemp = m_BitRate;
nTemp |= 0x80000000;
m_compressioncfg[m_nCopyChanNum].struNetPara.dwVideoBitrate = nTemp;
}
else
{
m_compressioncfg[m_nCopyChanNum].struNetPara.dwVideoBitrate = m_BitRateCtrl.GetCurSel()+2;
}
m_compressioncfg[m_nCopyChanNum].struNetPara.byResolution = m_ResolutionCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struNetPara.dwVideoFrameRate = m_FrameRateCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struNetPara.byBitrateType = m_BitRateTypeCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struNetPara.byIntervalBPFrame = m_BPIntervalCtrl.GetCurSel();
m_compressioncfg[m_nCopyChanNum].struNetPara.wIntervalFrameI = m_FrameI;
break;
case 2:
m_compressioncfg_new[m_nCopyChanNum].struRecordPara.byStreamType = m_StreamTypeCtrl.GetCurSel();
m_compressioncfg_new[m_nCopyChanNum].struRecordPara.byPicQuality = m_ImageQualityCtrl.GetCurSel();
if(m_BitRateCtrl.GetCurSel() == 22) //self-define bitrate
{
nTemp = m_BitRate;
nTemp |= 0x80000000;
m_compressioncfg_new[m_nCopyChanNum].struRecordPara.dwVideoBitrate = nTemp;
}
else
{
m_compressioncfg_new[m_nCopyChanNum].struRecordPara.dwVideoBitrate = m_BitRateCtrl.GetCurSel()+2;
}
m_compressioncfg_new[m_nCopyChanNum].struRecordPara.byResolution = m_ResolutionCtrl.GetCurSel();
m_compressioncfg_new[m_nCopyChanNum].struRecordPara.dwVideoFrameRate = m_FrameRateCtrl.GetCurSel();
m_compressioncfg_new[m_nCopyChanNum].struRecordPara.byBitrateType = m_BitRateTypeCtrl.GetCurSel();
break;
default:
break;
}
m_record[m_nCopyChanNum].dwRecord = m_bRecord;
m_record[m_nCopyChanNum].dwRecordTime = m_DelayCtrl.GetCurSel();
m_record[m_nCopyChanNum].dwPreRecordTime = m_PreRecordTime.GetCurSel();
//copy schedule
for(int k=0; k<MAX_DAYS; k++)
{
memcpy(&(m_record[m_nCopyChanNum].struRecAllDay[k]), &(m_record[m_nChanSel].struRecAllDay[k]), sizeof(NET_DVR_RECORDDAY));
for(int j=0; j<MAX_TIMESEGMENT; j++)
{
memcpy(&m_record[m_nCopyChanNum].struRecordSched[k][j],&m_record[m_nChanSel].struRecordSched[k][j],sizeof(NET_DVR_RECORDSCHED));
}
}
m_piccfg[m_nCopyChanNum].dwEnableHide = m_bHide;
m_piccfg[m_nCopyChanNum].struMotion.byEnableHandleMotion = m_bMotion;
if(!m_bHideAlarm)
{
m_piccfg[m_nCopyChanNum].struHideAlarm.dwEnableHideAlarm = m_bHideAlarm;
}
m_piccfg[m_nCopyChanNum].dwShowChanName = m_bChanname;
m_piccfg[m_nCopyChanNum].wShowNameTopLeftX = m_channame_x;
m_piccfg[m_nCopyChanNum].wShowNameTopLeftY = m_channame_y;
m_piccfg[m_nCopyChanNum].dwShowOsd = m_bOsd;
m_piccfg[m_nCopyChanNum].wOSDTopLeftX = m_osd_x;
m_piccfg[m_nCopyChanNum].wOSDTopLeftY = m_osd_y;
m_piccfg[m_nCopyChanNum].byDispWeek = m_bDispWeek;
m_piccfg[m_nCopyChanNum].byOSDAttrib = m_OsdAttrib.GetCurSel()+1;
m_piccfg[m_nCopyChanNum].byOSDType = m_OsdType.GetCurSel();
m_piccfg[m_nCopyChanNum].struVILost.byEnableHandleVILost = m_bVideoLost;
//copy video parameters
m_piccfg[m_nCopyChanNum].byBrightness = m_piccfg[m_nChanSel].byBrightness;
m_piccfg[m_nCopyChanNum].byContrast = m_piccfg[m_nChanSel].byContrast;
m_piccfg[m_nCopyChanNum].byHue = m_piccfg[m_nChanSel].byHue;
m_piccfg[m_nCopyChanNum].bySaturation = m_piccfg[m_nChanSel].bySaturation;
bSetChannelPara[m_nCopyChanNum] = TRUE;
}
}
void CRemoteChannelConfig::OnButmotion()
{
// TODO: Add your control notification handler code here
CRemoteDetectConfig DetectCfgDlg;
lpMotionDetect = &(m_piccfg[m_nChanSel].struMotion);
DetectCfgDlg.m_iChannel = m_nChanNum;
DetectCfgDlg.m_lServerID = m_lServerID;
DetectCfgDlg.m_dwAlarmOutNum = m_dwAlarmOutNum;
DetectCfgDlg.m_iChannelnumber = m_iChannelnumber;
if(DetectCfgDlg.DoModal() == IDOK)
bSetChannelPara[m_nChanSel] = TRUE;
}
void CRemoteChannelConfig::OnButrecord()
{
// TODO: Add your control notification handler code here
CRemoteRecordPlanConfig dlg;
dlg.serverrecordplan = &(m_record[m_nChanSel]);
if(dlg.DoModal() == IDOK)
bSetChannelPara[m_nChanSel] = TRUE;
}
void CRemoteChannelConfig::OnChkrecord()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_bRecord)
GetDlgItem(IDC_BUTRECORD)->EnableWindow(TRUE);
else
GetDlgItem(IDC_BUTRECORD)->EnableWindow(FALSE);
}
void CRemoteChannelConfig::OnButhide()
{
// TODO: Add your control notification handler code here
CRemoteHideConfig Dlg;
int i = 0;
for(i=0; i<MAX_SHELTERNUM; i++)
{
memcpy(&(Dlg.struShelter[i]), &(m_piccfg[m_nChanSel].struShelter[i]),sizeof(NET_DVR_SHELTER));
}
Dlg.m_iChannel = m_nChanNum;
Dlg.m_lServerID = m_lServerID;
if(Dlg.DoModal() == IDOK)
{
for(i=0; i<MAX_SHELTERNUM; i++)
{
memcpy(&(m_piccfg[m_nChanSel].struShelter[i]), &(Dlg.struShelter[i]),sizeof(NET_DVR_SHELTER));
}
bSetChannelPara[m_nChanSel] = TRUE;
}
}
void CRemoteChannelConfig::OnChkhidearea()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_bHide)
GetDlgItem(IDC_BUTHIDE)->EnableWindow(TRUE);
else
GetDlgItem(IDC_BUTHIDE)->EnableWindow(FALSE);
}
void CRemoteChannelConfig::OnChkosd()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
EnableOsd(m_bOsd);
}
void CRemoteChannelConfig::OnChkchanname()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
EnableChanname(m_bChanname);
}
void CRemoteChannelConfig::EnableOsd(BOOL bEnable)
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_OSD_X)->EnableWindow(bEnable);
GetDlgItem(IDC_OSD_Y)->EnableWindow(bEnable);
GetDlgItem(IDC_OSDATTRIB)->EnableWindow(bEnable);
GetDlgItem(IDC_OSDTYPE)->EnableWindow(bEnable);
GetDlgItem(IDC_CHKDISPWEEK)->EnableWindow(bEnable);
}
void CRemoteChannelConfig::EnableChanname(BOOL bEnable)
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_CHANNAME_X)->EnableWindow(bEnable);
GetDlgItem(IDC_CHANNAME_Y)->EnableWindow(bEnable);
}
void CRemoteChannelConfig::OnSelchangeComchan()
{
// TODO: Add your control notification handler code here
char cTemp[100];
m_nChanSel = m_ChannelCtrl.GetCurSel();
m_nChanNum = m_nChanSel+m_lStartChannel;
if(!bGetChannelPara[m_nChanSel])
{
if(GetChanPara(m_nChanSel))
{
bGetChannelPara[m_nChanSel] = TRUE;
}
else
{
GetDlgItem(IDCHANCFGOK)->EnableWindow(FALSE);
CString sTemp;
sTemp.Format("Get channel%d parameters failed!",m_nChanSel);
AfxMessageBox(sTemp);
return;
}
}
m_CompressCombo.SetCurSel(0);
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);
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;
m_bRecord = m_record[m_nChanSel].dwRecord;
GetDlgItem(IDC_BUTRECORD)->EnableWindow(m_bRecord);
m_DelayCtrl.SetCurSel(m_record[m_nChanSel].dwRecordTime);
m_PreRecordTime.SetCurSel(m_record[m_nChanSel].dwPreRecordTime);
ZeroMemory(cTemp, 100);
memcpy(cTemp, m_piccfg[m_nChanSel].sChanName, NAME_LEN);
m_ChannelName.Format("%s",cTemp);
m_bHide = m_piccfg[m_nChanSel].dwEnableHide;
GetDlgItem(IDC_BUTHIDE)->EnableWindow(m_bHide);
m_bMotion = m_piccfg[m_nChanSel].struMotion.byEnableHandleMotion;
GetDlgItem(IDC_BUTMOTION)->EnableWindow(m_bMotion);
if(m_piccfg[m_nChanSel].struHideAlarm.dwEnableHideAlarm > 0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -