📄 netctlrecdlg.cpp
字号:
// NetCtlRecDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Sample.h"
#include "NetCtlRecDlg.h"
#include "NetRemoteCtrlDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//--------------------------------
extern USER_DVR_PARAMETER *Con_pDVRPara;
extern CNetRemoteCtrlDlg *pNetRemoteCtlDlg;
extern BOOL DVRParaChange;
extern BOOL ENGLISH;
//------------------
extern LoginParam m_LoginParam;
RecParam m_RecParam;
extern Terminal m_Terminal;
/////////////////////////////////////////////////////////////////////////////
// CNetCtlRecDlg dialog
CNetCtlRecDlg::CNetCtlRecDlg(CWnd* pParent /*=NULL*/)
: CDialog(CNetCtlRecDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CNetCtlRecDlg)
m_AllPort = FALSE;
m_Contact_Record = FALSE;
m_Motion_Record = FALSE;
m_Sch_Record = FALSE;
m_iCameraAddr = 0;
//}}AFX_DATA_INIT
pParent = NULL ;
}
void CNetCtlRecDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNetCtlRecDlg)
DDX_Control(pDX, IDC_COMBO_CAMERA_BAUDRATE, m_ConCameraBaudrate);
DDX_Control(pDX, IDC_MOTION_CHECK, m_cMotion_Record);
DDX_Control(pDX, IDC_SCHEDULE_CHECK, m_cSch_Record);
DDX_Control(pDX, IDC_PORT_COMBO, m_PortCombo);
DDX_Check(pDX, IDC_ALLPORT_CHECK, m_AllPort);
DDX_Check(pDX, IDC_MOTION_CHECK, m_Motion_Record);
DDX_Check(pDX, IDC_SCHEDULE_CHECK, m_Sch_Record);
DDX_Text(pDX, IDC_EDIT_CAMERA_ADDR, m_iCameraAddr);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CNetCtlRecDlg, CDialog)
//{{AFX_MSG_MAP(CNetCtlRecDlg)
ON_BN_CLICKED(IDC_SET_BUTTON, OnSetButton)
ON_CBN_SELCHANGE(IDC_PORT_COMBO, OnSelchangePortCombo)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNetCtlRecDlg message handlers
BOOL CNetCtlRecDlg::OnInitDialog()
{
char * l_Set;
char * l_Port;
char * l_Record;
char * l_AllPort;
char * l_MotionRecord;
char * l_SchRecord;
char * l_ManualRecord;
if(ENGLISH)
{
l_Set=_T("Setup");
l_Port=_T("Channel");
l_Record=_T("Record");
l_AllPort=_T("All channel");
l_MotionRecord=_T("Motion record ");
l_SchRecord=_T("Schedule record");
l_ManualRecord=_T("Manual record");
}
else
{
l_Set=_T("设置");
l_Port=_T("通道");
l_Record=_T("录像");
l_AllPort=_T("所有通道");
l_MotionRecord=_T("视频移动报警录像 ");
l_SchRecord=_T("定时录像");
l_ManualRecord=_T("手动录像");
}
CDialog::OnInitDialog();
CString str ;
m_AllPort = FALSE ;
/* m_PortCombo.ResetContent() ;
////
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
for (int i=0;i<Con_pDVRPara->nPortNo ;i++) {
str.Format("%s%02d",l_Port,i+1) ;
m_PortCombo.AddString(str) ;
}
m_PortCombo.SetCurSel(0);
}
else
{
for (int i=0;i<m_LoginParam.ChannelCount;i++) {
str.Format("%s%02d",l_Port,i+1) ;
m_PortCombo.AddString(str) ;
}
m_PortCombo.SetCurSel(0);
}
*/
CWnd *pWnd ;
pWnd = GetDlgItem(IDC_ALLPORT_CHECK) ;
pWnd->SetWindowText(l_AllPort);
pWnd = GetDlgItem(IDC_SET_BUTTON) ;
pWnd->SetWindowText(l_Set);
pWnd = GetDlgItem(IDC_MOTION_CHECK) ;
pWnd->SetWindowText(l_MotionRecord);
pWnd = GetDlgItem(IDC_SCHEDULE_CHECK) ;
pWnd->SetWindowText(l_SchRecord);
UpdateData(FALSE) ;
return TRUE ;
}
void CNetCtlRecDlg::OnSetButton()
{
char * l_SelectRecordPort;
if(ENGLISH)
l_SelectRecordPort=_T("Please select record channel!");
else
l_SelectRecordPort=_T("请选择录像通道!");
BYTE portno;
UpdateData(TRUE) ;
DVRParaChange=TRUE;
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
if (m_AllPort)
{
int num = m_ConCameraBaudrate.GetCurSel();
pNetRemoteCtlDlg->SetCameraPara(0,num,m_iCameraAddr);
pNetRemoteCtlDlg->SetNetRemoteRec(0, (unsigned char)m_Sch_Record,(unsigned char)m_Motion_Record,(unsigned char)m_Contact_Record,(unsigned char)m_Record) ;
portno=0;
}
else
{
int i ;
i = m_PortCombo.GetCurSel() ;
if (i < 0)
AfxMessageBox(l_SelectRecordPort, IDOK, NULL) ;//T("请选择录像端口!")
else
{
int num = m_ConCameraBaudrate.GetCurSel();
pNetRemoteCtlDlg->SetCameraPara(i+1,num,m_iCameraAddr);
pNetRemoteCtlDlg->SetNetRemoteRec(i+1, m_Sch_Record,m_Motion_Record,m_Contact_Record,(unsigned char)m_Record);
portno=i+1;
}
}
if(portno!=0)
{
Con_pDVRPara->PortConfig[portno-1].nRecordSchedulePortStatus=m_Sch_Record;
Con_pDVRPara->PortConfig[portno-1].nRecordAlarmPortStatus=m_Motion_Record;
//#ifdef USE_YWTSTRUCT
int num = m_ConCameraBaudrate.GetCurSel();
Con_pDVRPara->PortConfigEx[portno-1].nCameraBaudRate = num;
CEdit*pedit =(CEdit*)GetDlgItem(IDC_EDIT_CAMERA_ADDR);
CString str;
pedit->GetWindowText(str);
int iTemp = atoi(str.GetBuffer(0));
Con_pDVRPara->PortConfigEx[portno-1].nCameraAddr = iTemp;
//#endif
}
else
{
int num = m_ConCameraBaudrate.GetCurSel();
CEdit*pedit =(CEdit*)GetDlgItem(IDC_EDIT_CAMERA_ADDR);
CString str;
pedit->GetWindowText(str);
int iTemp = atoi(str.GetBuffer(0));
for(short j=0;j<Con_pDVRPara->nPortNo;j++)
{
Con_pDVRPara->PortConfig[j].nRecordSchedulePortStatus=m_Sch_Record;
Con_pDVRPara->PortConfig[j].nRecordAlarmPortStatus=m_Motion_Record;
//#ifdef USE_YWTSTRUCT
Con_pDVRPara->PortConfigEx[portno-1].nCameraBaudRate = num;
Con_pDVRPara->PortConfigEx[j].nCameraAddr = iTemp;
//#endif
}
}
}
else
{
if (m_AllPort)
{
int num = m_ConCameraBaudrate.GetCurSel();
pNetRemoteCtlDlg->SetCameraPara(0,num,m_iCameraAddr);
pNetRemoteCtlDlg->SetNetRemoteRec(0, (unsigned char)m_Sch_Record,(unsigned char)m_Motion_Record,(unsigned char)m_Contact_Record,(unsigned char)m_Record) ;
portno=0;
}
else
{
int i ;
i = m_PortCombo.GetCurSel() ;
if (i < 0)
{
AfxMessageBox(l_SelectRecordPort, IDOK, NULL) ;//T("请选择录像端口!")
return;
}
else
{
int num = m_ConCameraBaudrate.GetCurSel();
pNetRemoteCtlDlg->SetCameraPara(i+1,num,m_iCameraAddr);
pNetRemoteCtlDlg->SetNetRemoteRec(i+1, m_Sch_Record,m_Motion_Record,m_Contact_Record,(unsigned char)m_Record);
portno=i+1;
}
}
}
}
void CNetCtlRecDlg::OnSelchangePortCombo()
{
// TODO: Add your control notification handler code here
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
BYTE portno;
portno=m_PortCombo.GetCurSel();
//#ifdef USE_YWTSTRUCT
m_ConCameraBaudrate.SetCurSel(Con_pDVRPara->PortConfigEx[portno].nCameraBaudRate);
m_iCameraAddr = Con_pDVRPara->PortConfigEx[portno].nCameraAddr;
//#endif
UpdateData(FALSE);
m_cSch_Record.SetCheck(Con_pDVRPara->PortConfig[portno].nRecordSchedulePortStatus);
m_cMotion_Record.SetCheck(Con_pDVRPara->PortConfig[portno].nRecordAlarmPortStatus);
}
else
{
int portno;
portno=m_PortCombo.GetCurSel();
pNetRemoteCtlDlg->GetDvrParam(portno+1,0,PARA_TYPE_ALARM_MOVE_PRESET,&m_RecParam,sizeof(RecParam));
pNetRemoteCtlDlg->GetDvrParam(portno+1,0,PARA_TYPE_TERM,&m_Terminal,sizeof(Terminal));
if(portno<MAXPORTNO)
{
m_iCameraAddr = m_Terminal.BallAddressCode;
UpdateData(FALSE);
m_ConCameraBaudrate.SetCurSel(m_Terminal.BallBaudRate);
m_cSch_Record.SetCheck(m_RecParam.ScheduleRec);
m_cMotion_Record.SetCheck(m_RecParam.MotionRec);
}
}
}
BOOL CNetCtlRecDlg::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 CNetCtlRecDlg::Refresh()
{
char * l_Port;
if(ENGLISH)
l_Port=_T("Channel");
else
l_Port=_T("通道");
CString str;
m_PortCombo.ResetContent() ;
////
if (pNetRemoteCtlDlg->m_nDVRType <= 0)
{
for (int i=0;i<Con_pDVRPara->nPortNo ;i++) {
str.Format("%s%02d",l_Port,i+1) ;
m_PortCombo.AddString(str) ;
}
}
else
{
for (int i=0;i<m_LoginParam.ChannelCount;i++) {
str.Format("%s%02d",l_Port,i+1) ;
m_PortCombo.AddString(str) ;
}
}
m_PortCombo.SetCurSel(0);
OnSelchangePortCombo();
}
void CNetCtlRecDlg::OnClose()
{
// TODO: Add your message handler code here and/or call default
CDialog::OnClose();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -