📄 netstrategydlg.cpp
字号:
// NetStrategyDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Sjsys.h"
#include "LeftTreeView.h"
#include "MainFrm.h"
#include "SjsysDoc.h"
#include "TimeLimitSetDlg.h"
#include "NetStrategyDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CNetStrategyDlg dialog
CNetStrategyDlg::CNetStrategyDlg(CWnd* pParent /*=NULL*/)
: CDialog(CNetStrategyDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CNetStrategyDlg)
m_btnflag=1;
m_nIndex=-1;
m_radioflag1 = -1;
m_radioflag2 = -1;
//}}AFX_DATA_INIT
for(int i=0;i<10;i++)
m_flagstate[i]=-1;
for(i=0;i<N;i++)
{
servicetype[i]=0;
servicestate[i]=0;
filestate[i]=0;
filetype[i]=0;
}
m_urlisread=false;
m_emialisread=false;
m_portisread=false;
m_filetypeisread=false;
m_serviceisread=false;
}
void CNetStrategyDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNetStrategyDlg)
DDX_Control(pDX, IDC_LIST4, m_list44);
DDX_Control(pDX, IDC_LIST3, m_list33);
DDX_Control(pDX, IDC_OK, m_savebtn);
DDX_Control(pDX, IDC_TIMEMONITORBTN, m_timebtn);
DDX_Control(pDX, IDC_OTHERMONITORBTN, m_otherbtn);
DDX_Control(pDX, IDC_NETMONITORBTN, m_netbtn);
DDX_Control(pDX, IDC_MAILMONITORBTN, m_mailbtn);
DDX_Control(pDX, IDC_DOWNLOADMONITORBTN, m_downloadbtn);
DDX_Control(pDX, IDC_COMMONITORBTN, m_portbtn);
DDX_Control(pDX, IDC_LIST2, m_list22);
DDX_Control(pDX, IDC_LIST1, m_list11);
DDX_Radio(pDX, IDC_RADIO1, m_radioflag1);
DDX_Radio(pDX, IDC_RADIO4, m_radioflag2);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CNetStrategyDlg, CDialog)
//{{AFX_MSG_MAP(CNetStrategyDlg)
ON_BN_CLICKED(IDC_MAILMONITORBTN, OnMailmonitorbtn)
ON_BN_CLICKED(IDC_DOWNLOADMONITORBTN, OnDownloadmonitorbtn)
ON_BN_CLICKED(IDC_COMMONITORBTN, OnCommonitorbtn)
ON_BN_CLICKED(IDC_OTHERMONITORBTN, OnOthermonitorbtn)
ON_BN_CLICKED(IDC_TIMEMONITORBTN, OnTimemonitorbtn)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)
ON_NOTIFY(LVN_ENDLABELEDIT, IDC_LIST1, OnEndlabeleditList1)
ON_NOTIFY(LVN_ENDLABELEDIT, IDC_LIST2, OnEndlabeleditList2)
ON_BN_CLICKED(IDC_OK, OnOk)
ON_BN_CLICKED(IDC_NETMONITORBTN, OnNetmonitorbtn)
ON_BN_CLICKED(IDC_RADIO1, OnNonMonitorRadio)
ON_BN_CLICKED(IDC_RADIO2, OnMonitorRadio)
ON_BN_CLICKED(IDC_RADIO3, OnForbidenRadio)
ON_BN_CLICKED(IDC_RADIO4, OnAllRadio)
ON_BN_CLICKED(IDC_RADIO5, OnOnlyRadio)
ON_BN_CLICKED(IDC_RADIO6, OnForbidbelowRadio)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNetStrategyDlg message handlers
//DEL void CNetStrategyDlg::OnNetmonitorbtn()
//DEL {
//DEL // TODO: Add your control notification handler code here
//DEL UpdateData();
//DEL // if(IDYES==MessageBox("是否要保存该页面的更改?","询问",MB_YESNO|MB_ICONQUESTION))
//DEL // {
//DEL switch(m_btnflag)
//DEL {
//DEL case 1:
//DEL m_flagstate[0]=m_radioflag1;
//DEL if(m_radioflag1==1)
//DEL {
//DEL GetControlInfo();
//DEL }
//DEL break;
//DEL case 2:
//DEL m_flagstate[2]=m_radioflag1;
//DEL if(m_radioflag1==1)
//DEL {
//DEL //m_flagstate[3]=m_radioflag2;
//DEL GetControlInfo();
//DEL }
//DEL break;
//DEL case 3:
//DEL m_flagstate[4]=m_radioflag1;
//DEL if(m_radioflag1==1)
//DEL {
//DEL //m_flagstate[5]=m_radioflag2;
//DEL GetControlInfo();
//DEL }
//DEL break;
//DEL case 4:
//DEL m_flagstate[6]=m_radioflag1;
//DEL if(m_radioflag1==1)
//DEL {
//DEL // m_flagstate[7]=m_radioflag2;
//DEL GetControlInfo();
//DEL }
//DEL break;
//DEL case 5:
//DEL m_flagstate[8]=m_radioflag1;
//DEL if(m_radioflag1==1)
//DEL {
//DEL // m_flagstate[9]=m_radioflag2;
//DEL GetControlInfo();
//DEL }
//DEL break;
//DEL default:
//DEL break;
//DEL }
//DEL // }
//DEL // }
//DEL
//DEL m_btnflag=1;
//DEL m_radioflag1=0;
//DEL m_radioflag2=0;
//DEL DisableControls();
//DEL UpdateData(FALSE);
//DEL SetDlgItemText(IDC_RADIO8,"禁止上网");
//DEL SetDlgItemText(IDC_RADIO7,"监控上网");
//DEL SetDlgItemText(IDC_RADIO6,"不监控");
//DEL SetDlgItemText(IDC_RADIO2,"所有页面");
//DEL SetDlgItemText(IDC_RADIO3,"禁止所以页面");
//DEL SetDlgItemText(IDC_RADIO4,"仅允许下列页面");
//DEL SetDlgItemText(IDC_RADIO5,"仅禁止下列页面");
//DEL //GetDlgItem(IDC_RADIO5)->ShowWindow(SW_HIDE);
//DEL // GetDlgItem(IDC_RADIO4)->ShowWindow(SW_SHOW);
//DEL GetDlgItem(IDC_SENDSTATIC)->ShowWindow(SW_HIDE);
//DEL GetDlgItem(IDC_RECEIVESTATIC)->ShowWindow(SW_HIDE);
//DEL //SetDlgItemText(IDC_RADIO4,"禁止下列页面");
//DEL
//DEL while(m_list11.DeleteColumn(0));
//DEL while(m_list22.DeleteColumn(0));
//DEL m_list11.DeleteAllItems();
//DEL m_list11.SetRedraw(FALSE);
//DEL m_list22.DeleteAllItems();
//DEL m_list22.SetRedraw(FALSE);
//DEL RECT rect1,rect2;
//DEL m_list11.GetWindowRect(&rect1);
//DEL int width1=rect1.right-rect1.left;
//DEL m_list22.GetWindowRect(&rect2);
//DEL int width2=rect2.right-rect2.left;
//DEL m_list11.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES|LVS_EDITLABELS);
//DEL m_list22.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES|LVS_EDITLABELS);
//DEL
//DEL m_list11.InsertColumn(0," 网址",LVCFMT_CENTER,width1);
//DEL m_list22.InsertColumn(0," 网址",LVCFMT_CENTER,width2);
//DEL m_list11.SetRedraw(TRUE);
//DEL m_list22.SetRedraw(TRUE);
//DEL UpdateData();
//DEL }
void CNetStrategyDlg::OnMailmonitorbtn()
{
// TODO: Add your control notification handler code here
UpdateData();
GetDlgItem(IDC_LIST3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_LIST2)->ShowWindow(SW_SHOW);
switch(m_btnflag)
{
case 1:
m_flagstate[0]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
case 2:
m_flagstate[2]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
case 3:
m_flagstate[4]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
case 4:
m_flagstate[6]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
case 5:
m_flagstate[8]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
default:
break;
}
m_btnflag=2;
SetDlgItemText(IDC_RADIO3,"禁止邮件");
SetDlgItemText(IDC_RADIO2,"监控邮件");
SetDlgItemText(IDC_RADIO1,"不监控");
SetDlgItemText(IDC_RADIO4,"所有邮件");
SetDlgItemText(IDC_RADIO5,"仅允许列表中的邮件");
GetDlgItem(IDC_RADIO6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_SENDSTATIC)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECEIVESTATIC)->ShowWindow(SW_SHOW);
SetDlgItemText(IDC_SENDSTATIC,"发件人");
SetDlgItemText(IDC_RECEIVESTATIC,"收件人");
while(m_list11.DeleteColumn(0));
while(m_list22.DeleteColumn(0));
m_list11.DeleteAllItems();
m_list22.DeleteAllItems();
RECT rect1,rect2;
m_list11.GetWindowRect(&rect1);
int width1=rect1.right-rect1.left;
m_list22.GetWindowRect(&rect2);
int width2=rect2.right-rect2.left;
m_list11.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES|LVS_EDITLABELS);
m_list22.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES|LVS_EDITLABELS);
m_list11.InsertColumn(0," 邮件地址",LVCFMT_CENTER,width1);
m_list22.InsertColumn(0," 邮件地址",LVCFMT_CENTER,width2);
//获取数据库中设备值
CString SQLStr;
try
{
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
SQLStr.Format("select * from Emailfilter where Deviceid='%d'",m_deviceid);
m_pRecordset->Open((LPTSTR)SQLStr.GetBuffer(130),
((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
int i=0;
while(!(m_pRecordset->adoEOF))
{
m_list11.InsertItem(i,((CSjsysApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("Sendemail")));
m_list22.InsertItem(i,((CSjsysApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("Recevmail")));//
m_pRecordset->MoveNext();
i++;
}
m_pRecordset->Close();
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
MessageBox("初始化失败!","错误");
}
try
{
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
SQLStr.Format("select * from filterconf where Deviceid='%d'",m_deviceid);
m_pRecordset->Open((LPTSTR)SQLStr.GetBuffer(130),
((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
int i=0;
if(!(m_pRecordset->adoEOF))
{
m_radioflag1=m_pRecordset->GetCollect("bEmailMonitor").lVal;
m_radioflag2=m_pRecordset->GetCollect("bUsingEmailFilter").lVal;
}
m_pRecordset->Close();
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
MessageBox("初始化失败!","错误");
}
if(m_radioflag1==2)
{
EanbleControls();
if(m_radioflag2==1)
{
GetDlgItem(IDC_LIST1)->EnableWindow(TRUE);
GetDlgItem(IDC_LIST2)->EnableWindow(TRUE);
}
}
else
DisableControls();
UpdateData(FALSE);
}
void CNetStrategyDlg::OnDownloadmonitorbtn()
{
// TODO: Add your control notification handler code here
UpdateData();
GetDlgItem(IDC_LIST3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_LIST2)->ShowWindow(SW_SHOW);
switch(m_btnflag)
{
case 1:
m_flagstate[0]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
case 2:
m_flagstate[2]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
case 3:
m_flagstate[4]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
case 4:
m_flagstate[6]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
case 5:
m_flagstate[8]=m_radioflag1;
if(m_radioflag1==2)
{
GetControlInfo();
}
break;
default:
break;
}
m_btnflag=3;
SetDlgItemText(IDC_RADIO3,"禁止下载");
SetDlgItemText(IDC_RADIO2,"监控下载");
SetDlgItemText(IDC_RADIO1,"不监控");
SetDlgItemText(IDC_RADIO4,"所有文件类型");
SetDlgItemText(IDC_RADIO5,"仅开放下列类型");
GetDlgItem(IDC_RADIO6)->ShowWindow(SW_SHOW);
SetDlgItemText(IDC_RADIO6,"仅封堵下列类型");
GetDlgItem(IDC_SENDSTATIC)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RECEIVESTATIC)->ShowWindow(SW_HIDE);
while(m_list11.DeleteColumn(0));
while(m_list22.DeleteColumn(0));
m_list11.DeleteAllItems();
m_list22.DeleteAllItems();
RECT rect1,rect2;
m_list11.GetWindowRect(&rect1);
int width1=rect1.right-rect1.left;
m_list22.GetWindowRect(&rect2);
int width2=rect2.right-rect2.left;
DWORD dwStyle;
dwStyle = m_list11.GetStyle();
dwStyle |=LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES;
dwStyle &= ~LVS_EDITLABELS;
m_list11.SetExtendedStyle(dwStyle);
m_list22.SetExtendedStyle(dwStyle);
//m_list11.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES|~LVS_EDITLABELS);
//m_list22.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES|LVS_EX_CHECKBOXES|~LVS_EDITLABELS);
m_list11.InsertColumn(0," 文件类型",LVCFMT_CENTER,width1);
m_list22.InsertColumn(0," 文件类型",LVCFMT_CENTER,width2);
//获取数据库中设备值
CString SQLStr;
try
{
HRESULT hTRes;
hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
SQLStr="select * from Filetype";
m_pRecordset->Open((LPTSTR)SQLStr.GetBuffer(130),
((CSjsysApp*)AfxGetApp())->pConnection.GetInterfacePtr(),
adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
int i=0;
while(!(m_pRecordset->adoEOF))
{
long n=m_pRecordset->GetRecordCount();
if(n<N)
filetype[i]=m_pRecordset->GetCollect("ID").lVal;
m_list11.InsertItem(i,((CSjsysApp*)AfxGetApp())->GetStringFromVariant(m_pRecordset->GetCollect("Typename")));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -