📄 netctlrecsetdlg.cpp
字号:
if(Con_pDVRPara!=NULL)
{
Con_pDVRPara->nRecordRateVarySmart=m_RecRateVarySmart;
Con_pDVRPara->nRecordRateVaryTime=m_RecRateVarySpeed;
Con_pDVRPara->nWDMethod=m_DiskCovery;
Con_pDVRPara->nRecordDateChar=m_DatePrint;
if(portno!=0)
{
#ifndef USE_83V605
Con_pDVRPara->PortConfigEx[portno-1].IFrameInterval=m_IFrameInterval;
#endif
if(m_IsCodeRateContinue)
{
Con_pDVRPara->PortConfig[portno-1].nImageQuality=m_RecQuality;
}
else
Con_pDVRPara->PortConfig[portno-1].nImageQuality=pCom->GetCurSel();
Con_pDVRPara->PortConfig[portno-1].nImageFrame=m_RecFrames;
Con_pDVRPara->PortConfig[portno-1].nAudio=m_Audio;
}
else
{
for(short j=0;j<Con_pDVRPara->nPortNo;j++)
{
#ifndef USE_83V605
Con_pDVRPara->PortConfigEx[j].IFrameInterval=m_IFrameInterval;
#endif
if(m_IsCodeRateContinue)
{
Con_pDVRPara->PortConfig[j].nImageQuality=m_RecQuality;
}
else
Con_pDVRPara->PortConfig[j].nImageQuality=pCom->GetCurSel();
Con_pDVRPara->PortConfig[j].nImageFrame=m_RecFrames;
Con_pDVRPara->PortConfig[j].nAudio=m_Audio;
}
}
}
}
void CNetCtlRecSetDlg::OnSelchangePortCombo()
{
// TODO: Add your control notification handler code here
CString strFrames;
char * l_quality;
char * l_qualityOld;
char * l_Quality[8];
char * l_QualityOld[4];
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;
}
}
if(ENGLISH)
{
l_quality=_T("BitRate Stream:");
// l_Quality[0]=_T("1536K");
l_Quality[0]=_T("1152K");
l_Quality[1]=_T("768K");
l_Quality[2]=_T("512K");
l_Quality[3]=_T("384K");
l_Quality[4]=_T("256K");
l_Quality[5]=_T("128K");
l_Quality[6]=_T("64K");
l_Quality[7]=_T("32K");
l_qualityOld=_T("Quality:");
l_QualityOld[0]=_T("Best");
l_QualityOld[1]=_T("Good");
l_QualityOld[2]=_T("Preferable");
l_QualityOld[3]=_T("Normal");
}
else
{
l_quality=_T("码流调整:");
// l_Quality[0]=_T("1536K");
l_Quality[0]=_T("1152K");
l_Quality[1]=_T("768K");
l_Quality[2]=_T("512K");
l_Quality[3]=_T("384K");
l_Quality[4]=_T("256K");
l_Quality[5]=_T("128K");
l_Quality[6]=_T("64K");
l_Quality[7]=_T("32K");
l_qualityOld=_T("录像质量:");
l_QualityOld[0]=_T("最好");
l_QualityOld[1]=_T("好");
l_QualityOld[2]=_T("较好");
l_QualityOld[3]=_T("普通");
}
if(DVRHardWareType==1)
{
l_Quality[0]=_T("2.5M");
l_Quality[1]=_T("2M");
l_Quality[2]=_T("1.5M");
l_Quality[3]=_T("1M");
l_Quality[4]=_T("768K");
l_Quality[5]=_T("512K");
l_Quality[6]=_T("384K");
l_Quality[7]=_T("256K");
l_Quality[8]=_T("128K");
}
CComboBox *pCom = (CComboBox*)GetDlgItem(IDC_COMBORECQUALITY);
pCom->ResetContent();
for (int i=0;i<8;i++)
{
pCom->InsertString(i,l_Quality[i]) ;
}
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
BYTE portno;
portno=m_PortCombo.GetCurSel();
pCom->SetCurSel(DVRHardWareType==1?Con_pDVRPara->PortConfig[portno].nImageQuality-1:Con_pDVRPara->PortConfig[portno].nImageQuality);
strFrames.Format("%d",Con_pDVRPara->PortConfig[portno].nImageFrame);
m_RecFrames = atoi(strFrames);
m_Audio = Con_pDVRPara->PortConfig[portno].nAudio;
m_RecRateVarySmart = Con_pDVRPara->nRecordRateVarySmart;
m_RecRateVarySpeed = Con_pDVRPara->nRecordRateVaryTime;
m_DiskCovery = Con_pDVRPara->nWDMethod;
m_DatePrint = Con_pDVRPara->nRecordDateChar;
m_RecQuality = Con_pDVRPara->PortConfig[portno].nImageQuality;
CString cTempRecQuality;
cTempRecQuality.Format("%d",m_RecQuality);
CEdit*pedit1=(CEdit*)GetDlgItem(IDC_RREC_QUALITY);
pedit1->SetWindowText(cTempRecQuality);
}
else
{
pCom->ResetContent();
for (int i=0;i<8;i++)
{
pCom->AddString(l_Quality[i]) ;
}
int portno;
portno=m_PortCombo.GetCurSel();
pNetRemoteCtlDlg->GetDvrParam(portno+1,0,PARA_TYPE_RECORD,&m_RecSetParam,sizeof(RecSetParam));
if(portno<MAXPORTNO)
{
CComboBox*pcom = (CComboBox*)GetDlgItem(IDC_COMBORECQUALITY);
pcom->SetCurSel(m_RecSetParam.CodeRate);
strFrames.Format("%d",m_RecSetParam.FrameCount);
m_RecFrames = atoi(strFrames);
m_Audio = m_RecSetParam.Audio;
}
m_RecRateVarySmart = m_RecSetParam.RecSensitivity;
m_RecRateVarySpeed = m_RecSetParam.RecRate;
m_DiskCovery = m_RecSetParam.RecOverMethod;
m_RecQuality = m_RecSetParam.CodeRate;
m_IFrameInterval = m_RecSetParam.IFrameInterval;
m_DatePrint = m_RecSetParam.RecDateSplice;
ZeroMemory(&m_RecSetParam,sizeof(RecSetParam));
}
UpdateData(FALSE);
}
void CNetCtlRecSetDlg::OnEditchangePortCombo()
{
// TODO: Add your control notification handler code here
}
BOOL CNetCtlRecSetDlg::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 CNetCtlRecSetDlg::Refresh()
{
char * l_Port;//=_T("Camera");
if(ENGLISH)
l_Port=_T("Channel");
else
l_Port=_T("通道");
// 刷新界面
if ((pNetRemoteCtlDlg->m_nDVRType == 3) ||
(pNetRemoteCtlDlg->m_nDVRType == 6) ||
(pNetRemoteCtlDlg->m_nDVRType == 7))
{// YWT主机码率调整采用连续码率
m_IsCodeRateContinue=TRUE;
UpdateData(FALSE);
OnCheckiscoderatecontinue();
//((CButton *)GetDlgItem(IDC_CHECKISCODERATECONTINUE))->ShowWindow(FALSE);
}
else
{
m_IsCodeRateContinue=FALSE;
UpdateData(FALSE);
OnCheckiscoderatecontinue();
//((CButton *)GetDlgItem(IDC_CHECKISCODERATECONTINUE))->ShowWindow(FALSE);
}
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{//83V6.05无获取I帧间隔的功能
((CStatic *)GetDlgItem(IDC_STATICIFRAMEINTERVAL))->ShowWindow(FALSE);
((CEdit *)GetDlgItem(IDC_RREC_IFRAME_INTERVAL))->ShowWindow(FALSE);
((CStatic *)GetDlgItem(IDC_STATIC_MS))->ShowWindow(FALSE);
}
else
{
((CStatic *)GetDlgItem(IDC_STATICIFRAMEINTERVAL))->ShowWindow(TRUE);
((CEdit *)GetDlgItem(IDC_RREC_IFRAME_INTERVAL))->ShowWindow(TRUE);
((CStatic *)GetDlgItem(IDC_STATIC_MS))->ShowWindow(TRUE);
}
m_PortCombo.ResetContent() ;
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
if(Con_pDVRPara->nStandard==0)
m_MaxFrames=25;
else
m_MaxFrames=30;
for (int i=0;i<Con_pDVRPara->nPortNo ;i++)
{
CString str ;
str.Format("%s%02d",l_Port,i+1) ;
m_PortCombo.AddString(str) ;
}
}
else
{
if(m_LoginParam.nStandard==0)
m_MaxFrames=25;
else
m_MaxFrames=30;
for (int i=0;i<m_LoginParam.ChannelCount;i++)
{
CString str ;
str.Format("%s%02d",l_Port,i+1) ;
m_PortCombo.AddString(str) ;
}
}
m_PortCombo.SetCurSel(0);
OnSelchangePortCombo();
}
void CNetCtlRecSetDlg::OnDeltaposSpinFrames(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;
// TODO: Add your control notification handler code here
UpdateData(TRUE) ;
if (pNMUpDown->iDelta > 0) //向下
{
if (m_RecFrames > 1)
m_RecFrames-- ;
}
else
{
if (m_RecFrames < m_MaxFrames)
m_RecFrames++ ;
}
UpdateData(FALSE) ;
*pResult = 0;
}
void CNetCtlRecSetDlg::OnChangeRrecFramenumEdit()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
/* UpdateData(TRUE);
if(m_RecFrames<1)
m_RecFrames=1;
else if(m_RecFrames>m_MaxFrames)
m_RecFrames=m_MaxFrames;
UpdateData(FALSE);*/
// TODO: Add your control notification handler code here
}
void CNetCtlRecSetDlg::OnCheckiscoderatecontinue()
{
UpdateData(TRUE);
if(!m_IsCodeRateContinue)
{
CWnd *pWnd1 =(CWnd*)GetDlgItem(IDC_COMBORECQUALITY);
pWnd1->ShowWindow(TRUE);
CWnd *pWnd2 =(CWnd*)GetDlgItem(IDC_RREC_QUALITY);
pWnd2->ShowWindow(FALSE);
CWnd *pWnd3 =(CWnd*)GetDlgItem(IDC_STATICKBS);
pWnd3->ShowWindow(FALSE);
}
else
{
CWnd *pWnd1 =(CWnd*)GetDlgItem(IDC_COMBORECQUALITY);
pWnd1->ShowWindow(FALSE);
CWnd *pWnd2 =(CWnd*)GetDlgItem(IDC_RREC_QUALITY);
pWnd2->ShowWindow(TRUE);
CWnd *pWnd3 =(CWnd*)GetDlgItem(IDC_STATICKBS);
pWnd3->ShowWindow(TRUE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -