📄 colorstaticclass.cpp
字号:
#include "stdafx.h"
#include "ColorStaticClass.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CColorStatic
CColorStatic::CColorStatic()
{
// 设置默认前景文本颜色
m_crTextColor = ::GetSysColor(COLOR_BTNTEXT);
// 设置默认背景颜色
m_crBkColor = ::GetSysColor(COLOR_BTNFACE);
// 设置背景刷子颜色
m_brBkgnd.CreateSolidBrush(m_crBkColor);
} // End of CColorStatic
CColorStatic::~CColorStatic()
{
} // End of ~CColorStatic
BEGIN_MESSAGE_MAP(CColorStatic, CStatic)
//{{AFX_MSG_MAP(CColorStatic)
ON_WM_CTLCOLOR_REFLECT()
ON_WM_DESTROY()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CColorStatic message handlers
HBRUSH CColorStatic::CtlColor(CDC* pDC, UINT nCtlColor)
{
// 以新的颜色值设置静态框文本颜色
pDC->SetTextColor(m_crTextColor);
// 以新的颜色值设置静态框背景颜色
pDC->SetBkColor(m_crBkColor);
return (HBRUSH)m_brBkgnd;
} // End of CtlColor
void CColorStatic::OnDestroy()
{
CStatic::OnDestroy();
// 销毁资源
m_brBkgnd.DeleteObject();
} // End of OnDestroy
void CColorStatic::SetTextColor(COLORREF crTextColor)
{
// 设置新的前景文本颜色
if (crTextColor != 0xffffffff)
{
m_crTextColor = crTextColor;
}
else // 设置默认的前景文本颜色
{
m_crTextColor = ::GetSysColor(COLOR_BTNTEXT);
}
// 重绘控件
Invalidate();
}
//获取静态框前景文本颜色
COLORREF CColorStatic::GetTextColor()
{
return m_crTextColor;
}
void CColorStatic::SetBkColor(COLORREF crBkColor)
{
// 设置新的背景颜色
if (crBkColor != 0xffffffff)
{
m_crBkColor = crBkColor;
}
else // 设置默认背景颜色
{
m_crBkColor = ::GetSysColor(COLOR_BTNFACE);
}
m_brBkgnd.DeleteObject();
m_brBkgnd.CreateSolidBrush(m_crBkColor);
// 重绘控件
Invalidate();
}
//获取背景颜色
COLORREF CColorStatic::GetBkColor()
{
return m_crBkColor;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -