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

📄 dlgcolor.cpp

📁 电力监控系统 实时告警处理程序
💻 CPP
字号:
// DlgColor.cpp : implementation file
//

#include "stdafx.h"
#include "RealEv.h"
#include "DlgColor.h"
#include "evtdb.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDlgColor dialog


CDlgColor::CDlgColor(CWnd* pParent /*=NULL*/,evtdb* pdb)
	: CDialog(CDlgColor::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgColor)
	//}}AFX_DATA_INIT
	m_pEvtDb = pdb;
	m_pNames = NULL;
	m_pTypes = NULL;
	m_pColors = NULL;
	m_nTypeCounts = 0;
}


void CDlgColor::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgColor)
	DDX_Control(pDX, IDC_FOR, m_forcolor);
	DDX_Control(pDX, IDC_LIST_TYPE, m_ListEvtType);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgColor, CDialog)
	//{{AFX_MSG_MAP(CDlgColor)
	ON_WM_CTLCOLOR()
	ON_LBN_SELCHANGE(IDC_LIST_TYPE, OnSelchangeListType)
	ON_CBN_SELCHANGE(IDC_FOR, OnSelchangeFor)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgColor message handlers



BOOL CDlgColor::OnInitDialog() 
{
	CDialog::OnInitDialog();
 	m_nTypeCounts = m_pEvtDb->GetEvtTypeCounts();
	m_pNames = new CString[m_nTypeCounts];
	m_pTypes = new WORD[m_nTypeCounts];
	m_pColors = new COLORREF[m_nTypeCounts];
	m_pEvtDb->GetEventType(m_pNames,m_pTypes,m_pColors);
	
	for(int i = 0;i<m_nTypeCounts;i++)
	{
		m_ListEvtType.AddString(m_pNames[i]);
		m_ListEvtType.SetItemData(i,MAKELONG(m_pTypes[i],0));
	}
	m_forcolor.InitializeDefaultColors();
	return TRUE;  
}

HBRUSH CDlgColor::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
/*	if (nCtlColor != CTLCOLOR_EDIT && nCtlColor != CTLCOLOR_SCROLLBAR && nCtlColor != CTLCOLOR_BTN){
   		pDC->SetBkMode(TRANSPARENT);
     	HBRUSH B = CreateSolidBrush(0xffffff);
     	return (HBRUSH)B;
  	}*/
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	return hbr;
}

void CDlgColor::OnSelchangeListType() 
{
	int cur = m_ListEvtType.GetCurSel();
/* 	short type = LOWORD(m_ListEvtType.GetItemData(cur));
	BYTE TypeID = HIBYTE(type);
	BYTE SubtypeID = LOBYTE(type);
	COLORREF color = m_pEvtDb->GetWarnColor(TypeID,SubtypeID);*/

	m_forcolor.SetSelectedColorValue(m_pColors[cur]); 

}

void CDlgColor::OnSelchangeFor() 
{
	int cur = m_ListEvtType.GetCurSel();
	if(cur == CB_ERR)return;
	int cursel = m_forcolor.GetCurSel();
	if(cursel!=CB_ERR)
	{
		m_pColors[cur] = m_forcolor.GetSelectedColorValue();
	}
}
void CDlgColor::OnOK() 
{
	if(m_ListEvtType.GetCurSel()!=CB_ERR)
	m_pEvtDb->SetColors(m_pColors,m_nTypeCounts);
	CDialog::OnOK();
}

⌨️ 快捷键说明

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