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

📄 netstrategydlg.cpp

📁 本程序使用Visual C++6.0编写
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// 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 + -