📄 remotechannelconfig.cpp
字号:
{
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 + -