📄 dlgcolor.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 + -