📄 userchangei.cpp
字号:
m_alarmout2 = FALSE;
m_alarmout3 = FALSE;
m_alarmout4 = FALSE;
//{{AFX_DATA_INIT(CSetUp)
// NOTE: the ClassWizard will add member initialization here
m_brush.CreateSolidBrush(RGB(117, 200, 146));
//}}AFX_DATA_INIT
}
CAlarmServerLink::~CAlarmServerLink()
{
}
void CAlarmServerLink::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAlarmServerSet)
DDX_Control(pDX, IDC_del, m_del);
DDX_Control(pDX, IDC_add, m_add);
DDX_Control(pDX, IDC_updatealarm, m_update);
DDX_Control(pDX, IDC_MSFLEXGRID1, m_dbgrid);
DDX_Control(pDX, IDC_lable1, m_lable1);
DDX_Control(pDX, IDC_lable2, m_lable2);
DDX_Control(pDX, IDC_lable3, m_lable3);
DDX_Control(pDX, IDC_lable4, m_lable4);
DDX_Control(pDX, IDC_lable5, m_lable5);
DDX_Control(pDX, IDC_lable6, m_lable6);
DDX_Control(pDX, ID_GROUP1, m_group);
DDX_Control(pDX, IDC_dvrname, m_dvrnamectl);
DDX_Control(pDX, IDC_channel, m_channelctl);
DDX_Text(pDX, IDC_dvrname, m_dvrname);
DDX_Text(pDX, IDC_stationid, m_stid);
DDX_Text(pDX, IDC_alarmsid, m_sigid);
DDX_CBIndex(pDX, IDC_channel, m_channel);
DDX_Text(pDX, IDC_alarmname, m_alarmname);
DDX_Text(pDX, IDC_alarmtype, m_alarmtype);
DDX_Check(pDX, IDC_OUPUT1, m_alarmout1);
DDX_Check(pDX, IDC_OUPUT2, m_alarmout2);
DDX_Check(pDX, IDC_OUPUT3, m_alarmout3);
DDX_Check(pDX, IDC_OUPUT4, m_alarmout4);
DDX_Control(pDX, IDC_OUPUT1, m_alarmout1ctl);
DDX_Control(pDX, IDC_OUPUT2, m_alarmout2ctl);
DDX_Control(pDX, IDC_OUPUT3, m_alarmout3ctl);
DDX_Control(pDX, IDC_OUPUT4, m_alarmout4ctl);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAlarmServerLink, CPropertyPage)
//{{AFX_MSG_MAP(CAlarmServerSet)
ON_BN_CLICKED(IDC_add, Onadd)
ON_BN_CLICKED(IDC_del, Ondel)
ON_BN_CLICKED(IDC_updatealarm, Onupdate)
ON_CBN_SETFOCUS(IDC_dvrname, OnSetfocusname)
ON_CBN_SELCHANGE(IDC_dvrname, OnSelchangename)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BEGIN_EVENTSINK_MAP(CAlarmServerLink, CPropertyPage)
//{{AFX_EVENTSINK_MAP(CChannelMap)
ON_EVENT(CSetUp, IDC_MSFLEXGRID1, -600 /* DblClick */, OnClickMsflexgrid1, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CAlarmServerLink::OnClickMsflexgrid1()
{
long m_row=m_dbgrid.GetRowSel();
m_stid = m_dbgrid.GetTextMatrix(m_row,1);
m_dvrname = m_dbgrid.GetTextMatrix(m_row,2);
m_sigid = m_dbgrid.GetTextMatrix(m_row,3);
m_channel = atoi(m_dbgrid.GetTextMatrix(m_row,4)) - 1;
m_alarmname = m_dbgrid.GetTextMatrix(m_row, 5);
m_alarmtype = m_dbgrid.GetTextMatrix(m_row, 6);
int index = find_alarmserver(m_sigid, m_stid) ;
if(index == -1)
return;
int output = m_link[index].output;
m_alarmout1 = output & 0x01;
m_alarmout2 = (output & 0x02) >> 1;
m_alarmout3 = (output & 0x04) >> 2;
m_alarmout4 = (output & 0x08) >> 3;
UpdateData(FALSE);
}
HBRUSH CAlarmServerLink::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor==CTLCOLOR_DLG)
return (HBRUSH)m_brush .GetSafeHandle( ) ;
return hbr;
}
void CAlarmServerLink::openfile()
{
Cfileoperation <Alarm_Server_Linking> *m_fileoperation;
m_file_length = m_fileoperation->openfile(m_alarm_server_link_directory,"ab+",m_link, 300);
}
bool CAlarmServerLink::check_para()
{
UpdateData(true);
if(m_dvrname.IsEmpty())
return false;
if(m_stid.IsEmpty())
return false;
if(m_sigid.IsEmpty())
return false;
return true;
}
int CAlarmServerLink::find_alarmserver(CString m_gid, CString m_sid)
{
for(int i=0; i< m_file_length; i++)
{
if(strcmp(m_link[i].name, m_login_client_name))
continue;
if(!strcmp(m_link[i].alarmid, m_gid) && !strcmp(m_link[i].id, m_sid))
return i;
}
return -1;
}
void CAlarmServerLink::Onadd()
{
if(!check_para())
return ;
if(find_alarmserver(m_sigid, m_stid) != -1)
{
AfxMessageBox(IDS_SAME_VALUE);
return;
}
if(m_file_length >=300)
{
AfxMessageBox(ID_ADD_SCENE_OVER);
return;
}
openfile();
m_link[m_file_length].channel= m_channel;
strcpy(m_link[m_file_length].dvrname, m_dvrname);
strcpy(m_link[m_file_length].id, m_stid);
strcpy(m_link[m_file_length].alarmid, m_sigid);
strcpy(m_link[m_file_length].name, m_login_client_name);
strcpy(m_link[m_file_length].m_alarmname, m_alarmname);
strcpy(m_link[m_file_length].m_alarmtype, m_alarmtype);
int output = 0;
if(m_alarmout1)
output |= 0x01;
if(m_alarmout2)
output |= 0x02;
if(m_alarmout3)
output |= 0x04;
if(m_alarmout4)
output |= 0x08;
m_link[m_file_length].output = output;
m_file_length++;
savefile();
}
void CAlarmServerLink::Ondel()
{
if(!check_para())
return ;
int index = find_alarmserver(m_sigid, m_stid) ;
if(index == -1)
return;
strcpy(m_link[index].name, "");
savefile();
}
void CAlarmServerLink::Onupdate()
{
if(!check_para())
return ;
int index = find_alarmserver(m_sigid, m_stid) ;
if(index == -1)
return;
m_link[index].channel= m_channel;
strcpy(m_link[index].m_alarmname, m_alarmname);
strcpy(m_link[index].m_alarmtype, m_alarmtype);
int output = 0;
if(m_alarmout1)
output |= 0x01;
if(m_alarmout2)
output |= 0x02;
if(m_alarmout3)
output |= 0x04;
if(m_alarmout4)
output |= 0x08;
m_link[index].output = output;
savefile();
}
void CAlarmServerLink::savefile()
{
Cfileoperation <Alarm_Server_Linking> *m_fileoperation;
m_fileoperation->savefilename(m_alarm_server_link_directory,"wb+",m_link, m_file_length);
dbgrid();
}
void CAlarmServerLink::dbgrid()
{
openfile();
CString m_temstr;
m_dbgrid.Clear();
m_dbgrid.SetRow(0);
m_dbgrid.SetCol(0);
m_dbgrid.SetColAlignment(0 , 4);
m_temstr.Format(IDS_NUMBER);
m_dbgrid.SetText(m_temstr);
m_dbgrid.SetCol(1);
m_dbgrid.SetColAlignment(1 , 4);
m_temstr.Format(IDS_ALARM_SERVER_ID);
m_dbgrid.SetText(m_temstr);
m_dbgrid.SetCol(2);
m_dbgrid.SetColAlignment(2 , 4);
m_temstr.Format(IDS_ALARM_LINK_STATION);
m_dbgrid.SetText(m_temstr);
m_dbgrid.SetCol(3);
m_dbgrid.SetColAlignment(3 , 4);
m_temstr.Format(IDS_ALARM_SIGNAL_ID);
m_dbgrid.SetText(m_temstr);
m_dbgrid.SetCol(4);
m_dbgrid.SetColAlignment(4 , 4);
m_temstr.Format(IDS_ALARM_LINK_CHANNEL);
m_dbgrid.SetText(m_temstr);
m_dbgrid.SetCol(5);
m_dbgrid.SetColAlignment(5 , 4);
m_temstr.Format(IDS_ALARM_SERVER_IP);
m_dbgrid.SetText(m_temstr);
m_dbgrid.SetCol(6);
m_dbgrid.SetColAlignment(6 , 4);
m_temstr.Format(IDS_ALARM_SERVER_TYPE);
m_dbgrid.SetText(m_temstr);
long m_row=1;
for(int m=0;m<m_file_length;m++)
{
if(strcmp(m_link[m].name, m_login_client_name))
continue;
char m_dc[10];
m_dbgrid.SetRows(m_row+1);
m_dbgrid.SetRow(m_row++);
m_dbgrid.SetCol(0);
m_dbgrid.SetText(itoa(m_row-1,m_dc,10));
m_dbgrid.SetCol(1);
m_dbgrid.SetText(m_link[m].id);
m_dbgrid.SetCol(2);
m_dbgrid.SetText(m_link[m].dvrname);
m_dbgrid.SetCol(3);
m_dbgrid.SetText(m_link[m].alarmid);
m_dbgrid.SetCol(4);
m_dbgrid.SetText(itoa(m_link[m].channel+1, m_dc, 10));
m_dbgrid.SetCol(5);
m_dbgrid.SetText(m_link[m].m_alarmname);
m_dbgrid.SetCol(6);
m_dbgrid.SetText(m_link[m].m_alarmtype);
}
}
BOOL CAlarmServerLink::OnSetActive()
{
dbgrid();
return CPropertyPage::OnSetActive();
}
BOOL CAlarmServerLink::OnInitDialog()
{
CPropertyPage::OnInitDialog();
dbgrid();
init_label(m_lable1);
init_label(m_lable2);
init_label(m_lable3);
init_label(m_lable4);
init_label(m_lable5);
init_label(m_lable6);
CString m_str;
m_channelctl.ResetContent();
for(int i=0; i<16; i++)
{
m_str.Format("%d", i+1);
m_channelctl.InsertString(i, m_str);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CAlarmServerLink::OnSelchangename()
{
UpdateData(true);
int index = m_dvrnamectl.GetCurSel();
if (index!=CB_ERR)
{
m_dvrnamectl.GetLBText(index, m_dvrname);
}
else
return;
Remote_Station_setting m_station[120];
Cfileoperation <Remote_Station_setting> *m_fileoperation;
int m_length=m_fileoperation->openfile(m_remote_station_directory,"ab+",m_station);
for(int i=0; i<m_length; i++)
{
if(strcmp(m_station[i].name, m_login_client_name))
continue;
if(!strcmp(m_station[i].dvrname, m_dvrname))
{
m_stid.Format("%d", m_station[i].stid);
}
}
UpdateData(FALSE);
}
void CAlarmServerLink::OnSetfocusname()
{
Remote_Station_setting m_station[120];
Cfileoperation <Remote_Station_setting> *m_fileoperation;
int m_length=m_fileoperation->openfile(m_remote_station_directory,"ab+",m_station);
char dc[20];
m_dvrnamectl.ResetContent();
for(int i=0; i<m_length; i++)
{
if(!strcmp(m_station[i].name, m_login_client_name))
{
m_dvrnamectl.AddString(m_station[i].dvrname);
}
}
}
////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
LPCTSTR rvNetAlarmsetup = _T("NetAlarmsetup");
LPCTSTR rvNetAlarmtime = _T("NetAlarmtime");
LPCTSTR rvNetAlarmopenchan = _T("NetAlarmopenchan");
LPCTSTR rvNetAlarmclosechan = _T("NetAlarmclosechan");
LPCTSTR rvNetAlarmopenlight = _T("NetAlarmopenlight");
LPCTSTR rvNetAlarmcloselight = _T("NetAlarmcloselight");
LPCTSTR rvNetAlarmopenptz = _T("NetAlarmopenptz");
CParatSet::CParatSet() : CPropertyPage(CParatSet::IDD)
{
m_time = read_dword(rvNetAlarmsetup, rvNetAlarmtime, 30);
m_openchan = read_dword(rvNetAlarmsetup, rvNetAlarmopenchan);
m_closechan = read_dword(rvNetAlarmsetup, rvNetAlarmclosechan);
m_openlight = read_dword(rvNetAlarmsetup, rvNetAlarmopenlight);
m_closelight = read_dword(rvNetAlarmsetup, rvNetAlarmcloselight);
m_openptz = read_dword(rvNetAlarmsetup, rvNetAlarmopenptz);
m_closeptz = TRUE;
//{{AFX_DATA_INIT(CParatSet)
// NOTE: the ClassWizard will add member initialization here
m_brush.CreateSolidBrush(RGB(117, 200, 146));
//}}AFX_DATA_INIT
}
CParatSet::~CParatSet()
{
}
void CParatSet::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CParatSet)
DDX_Control(pDX, IDC_CHECK_OPENPTZ, m_openptzctl);
DDX_Control(pDX, IDC_CHECK_OPENLIGHT, m_openlightctl);
DDX_Control(pDX, IDC_CHECK_OPENCHAN, m_openchanctl);
DDX_Control(pDX, IDC_CHECK_CLOSEPTZ, m_closeptzctl);
DDX_Control(pDX, IDC_CHECK_CLOSELIGHT, m_closelightctl);
DDX_Control(pDX, IDC_CHECK_CLOSECHAN, m_closechanctl);
DDX_Control(pDX, IDC_SETPARA, m_set);
DDX_Control(pDX, IDC_STATIC_LB, m_static);
DDX_Control(pDX, IDC_STATIC_SEC, m_staticsec);
DDX_Text(pDX, IDC_ALARM_TIME, m_time);
DDX_Check(pDX, IDC_CHECK_CLOSECHAN, m_closechan);
DDX_Check(pDX, IDC_CHECK_CLOSELIGHT, m_closelight);
DDX_Check(pDX, IDC_CHECK_CLOSEPTZ, m_closeptz);
DDX_Check(pDX, IDC_CHECK_OPENCHAN, m_openchan);
DDX_Check(pDX, IDC_CHECK_OPENLIGHT, m_openlight);
DDX_Check(pDX, IDC_CHECK_OPENPTZ, m_openptz);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CParatSet, CPropertyPage)
//{{AFX_MSG_MAP(CAlarmServerSet)
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_SETPARA, OnSetpara)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
HBRUSH CParatSet::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CPropertyPage::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor==CTLCOLOR_DLG)
return (HBRUSH)m_brush .GetSafeHandle( ) ;
return hbr;
}
BOOL CParatSet::OnInitDialog()
{
CPropertyPage::OnInitDialog();
init_label(m_static);
init_label(m_staticsec);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CParatSet::OnSetpara()
{
UpdateData(TRUE);
write_dword(rvNetAlarmsetup, rvNetAlarmtime, m_time);
write_dword(rvNetAlarmsetup, rvNetAlarmopenchan, m_openchan);
write_dword(rvNetAlarmsetup, rvNetAlarmclosechan, m_closechan);
write_dword(rvNetAlarmsetup, rvNetAlarmopenlight, m_openlight);
write_dword(rvNetAlarmsetup, rvNetAlarmcloselight, m_closelight);
write_dword(rvNetAlarmsetup, rvNetAlarmopenptz, m_openptz);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -