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

📄 dlg_run_setting.cpp

📁 根据系统设定的日志类型,来判断用户操作的日志是否违规,形成报警
💻 CPP
字号:
// Dlg_Run_Setting.cpp : 实现文件
//

#include "stdafx.h"
#include "LogAlert.h"
#include "Dlg_Run_Setting.h"
#include ".\dlg_run_setting.h"


// CDlg_Run_Setting 对话框

IMPLEMENT_DYNAMIC(CDlg_Run_Setting, CDialog)
CDlg_Run_Setting::CDlg_Run_Setting(CWnd* pParent /*=NULL*/)
	: CDialog(CDlg_Run_Setting::IDD, pParent)
{
	m_lset.Init();
}

CDlg_Run_Setting::~CDlg_Run_Setting()
{
}

BOOL CDlg_Run_Setting::OnInitDialog()
{
	BOOL bRe=CDialog::OnInitDialog();
	SetDlgItemText(IDC_EDIT_SERVERNAME,m_lset.cServerName);
	//增加ListType
	m_lstLogType.AddString(g_key.Key_GetCString("STR_DLG_LOGALERT_SET_LOG_1"));
	m_lstLogType.AddString(g_key.Key_GetCString("STR_DLG_LOGALERT_SET_LOG_2"));
	m_lstLogType.AddString(g_key.Key_GetCString("STR_DLG_LOGALERT_SET_LOG_3"));
	m_lstLogType.AddString(g_key.Key_GetCString("STR_DLG_LOGALERT_SET_LOG_4"));
	m_lstLogType.AddString(g_key.Key_GetCString("STR_DLG_LOGALERT_SET_LOG_5"));
	m_lstLogType.AddString(g_key.Key_GetCString("STR_DLG_LOGALERT_SET_LOG_6"));
	/*
	m_lstLogType.AddString("服务器/控制台 普通日志");
	m_lstLogType.AddString("服务器/控制台 报警日志");
	m_lstLogType.AddString("客户端 警告日志");
	m_lstLogType.AddString("客户端 严重违规日志");
	m_lstLogType.AddString("设备 警告日志");
	m_lstLogType.AddString("设备 严重违规日志");
	*/
	//修改界面
	SetWindowText(g_key.Key_GetCString("STR_DLG_LOGALERT_SETTING"));
	SetDlgItemText(IDC_STATIC_SERVER,g_key.Key_GetCString("STR_DLG_LOGALERT_STATIC_SERVER"));
	SetDlgItemText(IDC_STATIC_SERVER_ADDRESS,g_key.Key_GetCString("STR_DLG_LOGALERT_STATIC_SERVER_ADDRESS"));
	SetDlgItemText(IDC_STATIC_SETTING,g_key.Key_GetCString("STR_DLG_LOGALERT_STATIC_SETTING"));
	SetDlgItemText(IDC_STATIC_LOG_TYPE,g_key.Key_GetCString("STR_DLG_LOGALERT_STATIC_LOG_TYPE"));
	SetDlgItemText(IDC_CHECK_RECEIVE,g_key.Key_GetCString("STR_DLG_LOGALERT_CHECK_RECEIVE"));
	SetDlgItemText(IDC_CHECK_ALERT_BEEP,g_key.Key_GetCString("STR_DLG_LOGALERT_CHECK_ALERT_BEEP"));
	SetDlgItemText(IDC_CHECK_ALERT_EMAIL,g_key.Key_GetCString("STR_DLG_LOGALERT_CHECK_ALERT_EMAIL"));
	SetDlgItemText(IDC_CHECK_ALERT_SMS,g_key.Key_GetCString("STR_DLG_LOGALERT_CHECK_ALERT_SMS"));
	SetDlgItemText(IDC_BUTTON_OK,g_key.Key_GetCString("STR_DLG_LOGALERT_BUTTON_OK"));
	SetDlgItemText(IDCANCEL,g_key.Key_GetCString("STR_DLG_LOGALERT_IDCANCEL"));

	m_lstLogType.SetCurSel(0);
	OnLbnSelchangeListLogType();
	return bRe;
}

void CDlg_Run_Setting::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_LIST_LOG_TYPE, m_lstLogType);
}


BEGIN_MESSAGE_MAP(CDlg_Run_Setting, CDialog)
	ON_LBN_SELCHANGE(IDC_LIST_LOG_TYPE, OnLbnSelchangeListLogType)
	ON_BN_CLICKED(IDC_BUTTON_OK, OnBnClickedButtonOk)
	ON_BN_CLICKED(IDC_CHECK_RECEIVE, OnBnClickedCheckReceive)
	ON_BN_CLICKED(IDC_CHECK_ALERT_BEEP, OnBnClickedCheckAlertBeep)
	ON_BN_CLICKED(IDC_CHECK_ALERT_EMAIL, OnBnClickedCheckAlertEmail)
	ON_BN_CLICKED(IDC_CHECK_ALERT_SMS, OnBnClickedCheckAlertSms)
END_MESSAGE_MAP()


// CDlg_Run_Setting 消息处理程序

void CDlg_Run_Setting::OnLbnSelchangeListLogType()
{
	// TODO: 在此添加控件通知处理程序代码
	DWORD dwIndex=m_lstLogType.GetCurSel();
	if (dwIndex<LOG_TYPE_MAX)
	{
		GetDlgItem(IDC_CHECK_RECEIVE)->EnableWindow(TRUE);
		GetDlgItem(IDC_CHECK_ALERT_BEEP)->EnableWindow(TRUE);
		GetDlgItem(IDC_CHECK_ALERT_EMAIL)->EnableWindow(TRUE);
		GetDlgItem(IDC_CHECK_ALERT_SMS)->EnableWindow(TRUE);
		if (m_lset.bShowSetting[dwIndex])
		{//显示
			((CButton*)GetDlgItem(IDC_CHECK_RECEIVE))->SetCheck(BST_CHECKED);
		}
		else
		{//不显示
			((CButton*)GetDlgItem(IDC_CHECK_RECEIVE))->SetCheck(BST_UNCHECKED);
			GetDlgItem(IDC_CHECK_ALERT_BEEP)->EnableWindow(FALSE);
			GetDlgItem(IDC_CHECK_ALERT_EMAIL)->EnableWindow(FALSE);
			GetDlgItem(IDC_CHECK_ALERT_SMS)->EnableWindow(FALSE);
		}
		((CButton*)GetDlgItem(IDC_CHECK_ALERT_BEEP))->SetCheck((m_lset.bAlertSetting[dwIndex]&LOG_ALERT_TYPE_BEEP_MODE_1)?BST_CHECKED:BST_UNCHECKED);
		((CButton*)GetDlgItem(IDC_CHECK_ALERT_EMAIL))->SetCheck((m_lset.bAlertSetting[dwIndex]&LOG_ALERT_TYPE_EMAIL)?BST_CHECKED:BST_UNCHECKED);
		((CButton*)GetDlgItem(IDC_CHECK_ALERT_SMS))->SetCheck((m_lset.bAlertSetting[dwIndex]&LOG_ALERT_TYPE_SMS)?BST_CHECKED:BST_UNCHECKED);
	}
	else
	{
		GetDlgItem(IDC_CHECK_RECEIVE)->EnableWindow(FALSE);
		GetDlgItem(IDC_CHECK_ALERT_BEEP)->EnableWindow(FALSE);
		GetDlgItem(IDC_CHECK_ALERT_EMAIL)->EnableWindow(FALSE);
		GetDlgItem(IDC_CHECK_ALERT_SMS)->EnableWindow(FALSE);
	}
}

void CDlg_Run_Setting::OnBnClickedButtonOk()
{
	// TODO: 在此添加控件通知处理程序代码
	GetDlgItemText(IDC_EDIT_SERVERNAME,m_lset.cServerName,sizeof(m_lset.cServerName));
	OnOK();
}

void CDlg_Run_Setting::OnBnClickedCheckReceive()
{
	// TODO: 在此添加控件通知处理程序代码
	DWORD dwIndex=m_lstLogType.GetCurSel();
	if (dwIndex<LOG_TYPE_MAX)
	{
		m_lset.bShowSetting[dwIndex]=((CButton*)GetDlgItem(IDC_CHECK_RECEIVE))->GetCheck()==BST_CHECKED;
		OnLbnSelchangeListLogType();
	}
}

void CDlg_Run_Setting::OnBnClickedCheckAlertBeep()
{
	// TODO: 在此添加控件通知处理程序代码
	DWORD dwIndex=m_lstLogType.GetCurSel();
	if (dwIndex<LOG_TYPE_MAX)
	{
		if (BST_CHECKED==((CButton*)GetDlgItem(IDC_CHECK_ALERT_BEEP))->GetCheck())
		{
			m_lset.bAlertSetting[dwIndex] |= LOG_ALERT_TYPE_BEEP_MODE_1;
		}
		else
		{
			m_lset.bAlertSetting[dwIndex] &= (~LOG_ALERT_TYPE_BEEP_MODE_1);
		}
		OnLbnSelchangeListLogType();
	}
}

void CDlg_Run_Setting::OnBnClickedCheckAlertEmail()
{
	// TODO: 在此添加控件通知处理程序代码
	DWORD dwIndex=m_lstLogType.GetCurSel();
	if (dwIndex<LOG_TYPE_MAX)
	{
		if (BST_CHECKED==((CButton*)GetDlgItem(IDC_CHECK_ALERT_EMAIL))->GetCheck())
		{
			m_lset.bAlertSetting[dwIndex] |= LOG_ALERT_TYPE_EMAIL;
		}
		else
		{
			m_lset.bAlertSetting[dwIndex] &= (~LOG_ALERT_TYPE_EMAIL);
		}
		OnLbnSelchangeListLogType();
	}
}

void CDlg_Run_Setting::OnBnClickedCheckAlertSms()
{
	// TODO: 在此添加控件通知处理程序代码
	DWORD dwIndex=m_lstLogType.GetCurSel();
	if (dwIndex<LOG_TYPE_MAX)
	{
		if (BST_CHECKED==((CButton*)GetDlgItem(IDC_CHECK_ALERT_SMS))->GetCheck())
		{
			m_lset.bAlertSetting[dwIndex] |= LOG_ALERT_TYPE_SMS;
		}
		else
		{
			m_lset.bAlertSetting[dwIndex] &= (~LOG_ALERT_TYPE_SMS);
		}
		OnLbnSelchangeListLogType();
	}
}

⌨️ 快捷键说明

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