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

📄 netctlrecsetdlg.cpp

📁 TM8000硬盘录像机客户端编程文档和Demo源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// NetCtlRecSetDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Sample.h"
#include "NetCtlRecSetDlg.h"
#include "NetRemoteCtrlDlg.h"



#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

extern CNetRemoteCtrlDlg   *pNetRemoteCtlDlg;
//--------------------------------------------
//------------------------------------------
extern USER_DVR_PARAMETER     *Con_pDVRPara; 
extern int ENGLISH;
extern LoginParam             m_LoginParam; 
RecSetParam					  m_RecSetParam;

extern    TM8100_NET_NODE  *pNetNodeHead ;
/////////////////////////////////////////////////////////////////////////////
// CNetCtlRecSetDlg dialog


CNetCtlRecSetDlg::CNetCtlRecSetDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CNetCtlRecSetDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CNetCtlRecSetDlg)
	m_AllPort = FALSE ;
	m_Audio = 0 ;
	m_DatePrint = FALSE ;
	m_DiskCovery = 0 ;
	m_RecRateVarySmart = 0 ;
	m_RecRateVarySpeed = 0 ;
	m_RecFrames = 25;
	m_IFrameInterval = 0;
	m_RecQuality = 0;
	m_IsCodeRateContinue = FALSE;
	m_MaxFrames = 25;
	//}}AFX_DATA_INIT
	pParent = NULL ;
}

void CNetCtlRecSetDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CNetCtlRecSetDlg)
	DDX_Control(pDX, IDC_RREC_DISKOVERLAY_COMBO, m_diskcover);
	DDX_Control(pDX, IDC_PORT_COMBO, m_PortCombo);
	DDX_Check(pDX, IDC_ALLPORT_CHECK, m_AllPort);
	DDX_CBIndex(pDX, IDC_RREC_AUDIO_COMBO, m_Audio);
	DDX_Check(pDX, IDC_RREC_DATEPRINT_CHECK, m_DatePrint);
	DDX_CBIndex(pDX, IDC_RREC_DISKOVERLAY_COMBO, m_DiskCovery);
	DDX_CBIndex(pDX, IDC_RREC_RATEVARYSMART_COMBO, m_RecRateVarySmart);
	DDX_CBIndex(pDX, IDC_RREC_RATEVARYSPEED_COMBO, m_RecRateVarySpeed);
	DDX_Text(pDX, IDC_RREC_FRAMENUM_EDIT, m_RecFrames);
	DDX_Text(pDX, IDC_RREC_IFRAME_INTERVAL, m_IFrameInterval);
	DDX_Text(pDX, IDC_RREC_QUALITY, m_RecQuality);
	DDX_Check(pDX, IDC_CHECKISCODERATECONTINUE, m_IsCodeRateContinue);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CNetCtlRecSetDlg, CDialog)
	//{{AFX_MSG_MAP(CNetCtlRecSetDlg)
	ON_BN_CLICKED(IDC_SET_BUTTON, OnSetButton)
	ON_CBN_SELCHANGE(IDC_PORT_COMBO, OnSelchangePortCombo)
	ON_CBN_EDITCHANGE(IDC_PORT_COMBO, OnEditchangePortCombo)
	ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN_FRAMES, OnDeltaposSpinFrames)
	ON_EN_CHANGE(IDC_RREC_FRAMENUM_EDIT, OnChangeRrecFramenumEdit)
	ON_BN_CLICKED(IDC_CHECKISCODERATECONTINUE, OnCheckiscoderatecontinue)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CNetCtlRecSetDlg message handlers

BOOL CNetCtlRecSetDlg::OnInitDialog() 
{
	char * l_Set;//=_T("Setup");
	char * l_Port;//=_T("Camera");
	char * l_AllPort;//=_T("All camera");
	char * l_DateStamp;//=_T("Date stamp");
	char * l_audio;//=_T("Audio:");
	char * l_dynamicsens;//=_T("Picture Comparision Sensitivity:");
	char * l_dynamicspeed;//=_T("Rate control:");
	char * l_frames;//=_T("Frames:");
	char * l_override;//=_T("HDD operation:");
	char * l_quality;//=_T("Quality:");
//	char * l_Qulity[9];//={_T("Best"),_T("1152K"),_T("768K"),_T("512K"),_T("384K"),_T("256K"),_T("128K")};

	char * l_HaveAudio;//=_T("Yes");
	char * l_NoAudio;//=_T("No");
	char * l_AutoCover;//=_T("Override");;
	char * l_AlarmCover;//=_T("Alarm");;
	
	char * l_LowSpeed;//=_T("Slow");
	char * l_MidSpeed;//=_T("Mid");
	char * l_HighSpeed;//=_T("Fast");
	char * l_NoAdjust;//=_T("Default");
	char * l_Low;//=_T("Low");
	char * l_Mid;//=_T("Mid");
	char * l_High;//=_T("High");
	
	if(ENGLISH)
	{
		l_Set=_T("Setup");
		l_Port=_T("Channel");
		l_AllPort=_T("All channel");
		l_DateStamp=_T("Date stamp");
		l_audio=_T("Audio:");
		l_dynamicsens=_T("Picture Comparision Sensitivity:");
		l_dynamicspeed=_T("Rate control:");
		l_frames=_T("Frames:");
		l_override=_T("HDD operation:");
		l_quality=_T("BitRate Stream:");
		l_HaveAudio=_T("Yes");
		l_NoAudio=_T("No");
		l_AutoCover=_T("Override");;
		l_AlarmCover=_T("Alarm");;
		
		l_LowSpeed=_T("Slow");
		l_MidSpeed=_T("Mid");
		l_HighSpeed=_T("Fast");
		l_NoAdjust=_T("Default");
		l_Low=_T("Low");
		l_Mid=_T("Mid");
		l_High=_T("High");
	}	
	else
	{
		l_Set=_T("设置");
		l_Port=_T("通道");
		l_AllPort=_T("所有通道");
		l_DateStamp=_T("日期叠加");
		l_audio=_T("音频:");
		l_dynamicsens=_T("码率动态调整灵敏度:");
		l_dynamicspeed=_T("码率动态调整速度:");
		l_frames=_T("录像帧数:");
		l_override=_T("覆盖方式:");
		l_quality=_T("码流调整:");
		l_HaveAudio=_T("有");
		l_NoAudio=_T("无");
		l_AutoCover=_T("自动覆盖");
		l_AlarmCover=_T("报警提示");
		
		
		l_LowSpeed=_T("慢速");
		l_MidSpeed=_T("中速");
		l_HighSpeed=_T("快速");
		l_NoAdjust=_T("不调整");
		l_Low=_T("低");
		l_Mid=_T("中");
		l_High=_T("高");
	}
	
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_PortCombo.ResetContent() ;
/// 
	if(Con_pDVRPara!=NULL)
	{
		for (int i=0;i<Con_pDVRPara->nPortNo ;i++)
		{
			CString   str ;
			str.Format("%s%02d",l_Port,i+1) ;
			m_PortCombo.AddString(str) ;
		}
		m_PortCombo.SetCurSel(0);
	}

	CComboBox *pCom = (CComboBox *)GetDlgItem(IDC_RREC_AUDIO_COMBO);
	pCom->ResetContent();
	pCom->AddString(l_NoAudio);
	pCom->AddString(l_HaveAudio);
	pCom->SetCurSel(0);

	m_diskcover.ResetContent();
	m_diskcover.AddString(l_AutoCover);
	m_diskcover.AddString(l_AlarmCover);
	m_diskcover.SetCurSel(0);

	pCom = (CComboBox *)GetDlgItem(IDC_RREC_RATEVARYSPEED_COMBO);
	pCom->ResetContent();
	pCom->AddString(l_LowSpeed);
	pCom->AddString(l_MidSpeed);
	pCom->AddString(l_HighSpeed);
	pCom->SetCurSel(0);

	pCom = (CComboBox *)GetDlgItem(IDC_RREC_RATEVARYSMART_COMBO);
	pCom->ResetContent();
	pCom->AddString(l_NoAdjust);
	pCom->AddString(l_Low);
	pCom->AddString(l_Mid);
	pCom->AddString(l_High);
	pCom->SetCurSel(0);

	CEdit *pEdit = (CEdit *)GetDlgItem(IDC_RREC_FRAMENUM_EDIT);
	pEdit->SetLimitText(2);

	CWnd           *pWnd ;
	pWnd = GetDlgItem(IDC_SET_BUTTON) ;
	pWnd->SetWindowText(l_Set);

	pWnd = GetDlgItem(IDC_ALLPORT_CHECK) ;
	pWnd->SetWindowText(l_AllPort);

	pWnd = GetDlgItem(IDC_RREC_DATEPRINT_CHECK) ;
	pWnd->SetWindowText(l_DateStamp);

	pWnd=GetDlgItem(IDC_STATICAUDIO);
	pWnd->SetWindowText(l_audio);

	pWnd=GetDlgItem(IDC_STATICDYNAMICSENS);
	pWnd->SetWindowText(l_dynamicsens);

	pWnd=GetDlgItem(IDC_STATICDYNAMICSPEED);
	pWnd->SetWindowText(l_dynamicspeed);

	pWnd=GetDlgItem(IDC_STATICFRAMES);
	pWnd->SetWindowText(l_frames);

	pWnd=GetDlgItem(IDC_STATICOVERRIDE);
	pWnd->SetWindowText(l_override);

	pWnd=GetDlgItem(IDC_STATICQULITY);
	pWnd->SetWindowText(l_quality);


    pWnd=GetDlgItem(IDC_RREC_QUALITY);
	pWnd->ShowWindow(SW_HIDE);
    pWnd=GetDlgItem(IDC_STATICKBS);
	pWnd->ShowWindow(SW_HIDE);
/*#ifdef USE_YWTSTRUCT
	m_IsCodeRateContinue=TRUE;
	UpdateData(FALSE);
	OnCheckiscoderatecontinue();
	((CButton *)GetDlgItem(IDC_CHECKISCODERATECONTINUE))->ShowWindow(FALSE);
#endif*/
	((CButton *)GetDlgItem(IDC_CHECKISCODERATECONTINUE))->ShowWindow(FALSE);
	return TRUE ;
}


void CNetCtlRecSetDlg::OnSetButton() 
{
	char * l_SelectRecordPort;//=_T("Please select record camera!");
	char * l_FramesOutRange;
	if(ENGLISH)
	{
		l_SelectRecordPort=_T("Please select record channel!");
		l_FramesOutRange=_T("Frames out of range!");
	}
	else
	{
		l_SelectRecordPort=_T("请选择录像通道!");
		l_FramesOutRange=_T("录像帧数超出范围");
	}
    BYTE portno;
	UpdateData(TRUE) ;
	if(m_RecFrames<1||m_RecFrames>m_MaxFrames)
	{
		AfxMessageBox(l_FramesOutRange);
		GetDlgItem(IDC_RREC_FRAMENUM_EDIT)->SetFocus();
		return ;
	}
	if(m_IsCodeRateContinue)
	{
		if (m_AllPort)
		{
			pNetRemoteCtlDlg->SetNetRemoteRecSet(0, m_RecQuality, m_RecFrames, m_Audio, 
				m_RecRateVarySmart, m_RecRateVarySpeed, m_DiskCovery, m_DatePrint) ;
			portno=0;
			pNetRemoteCtlDlg->SetIFrameInterval(0,m_IFrameInterval);
		}
		else
		{
			int    i ;
			i = m_PortCombo.GetCurSel() ;
			if (i < 0)
			{
				AfxMessageBox(l_SelectRecordPort, IDOK, NULL) ;//_T("请选择录像端口!")
				GetDlgItem(IDC_PORT_COMBO)->SetFocus();
				return ;
			}
			pNetRemoteCtlDlg->SetNetRemoteRecSet(i+1, m_RecQuality, m_RecFrames, m_Audio, 
				m_RecRateVarySmart, m_RecRateVarySpeed, m_DiskCovery, m_DatePrint) ;
			portno=i+1;
			pNetRemoteCtlDlg->SetIFrameInterval(i+1,m_IFrameInterval);
		}
	}
   else
   {
	   CComboBox *pCom = (CComboBox*)GetDlgItem(IDC_COMBORECQUALITY);
	   int RecRate = pCom->GetCurSel();
	   if (m_AllPort)
	   {      
		   pNetRemoteCtlDlg->SetNetRemoteRecSet(0, RecRate, m_RecFrames, m_Audio, 
			   m_RecRateVarySmart, m_RecRateVarySpeed, m_DiskCovery, m_DatePrint) ;
		   portno=0;
			pNetRemoteCtlDlg->SetIFrameInterval(0,m_IFrameInterval);
		}
		else
		{
			int    i ;
			i = m_PortCombo.GetCurSel() ;
			if (i < 0)
			{
				AfxMessageBox(l_SelectRecordPort, IDOK, NULL) ;//_T("请选择录像端口!")
				GetDlgItem(IDC_PORT_COMBO)->SetFocus();
				return ;
			}
			pNetRemoteCtlDlg->SetNetRemoteRecSet(i+1, RecRate, m_RecFrames, m_Audio, 
				m_RecRateVarySmart, m_RecRateVarySpeed, m_DiskCovery, m_DatePrint) ;
			portno=i+1;
			pNetRemoteCtlDlg->SetIFrameInterval(i+1,m_IFrameInterval);
		}
   }
	
   CComboBox *pCom = (CComboBox*)GetDlgItem(IDC_COMBORECQUALITY);

⌨️ 快捷键说明

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