15,979
社区成员
发帖
与我相关
我的任务
分享
CSkinRadio::CSkinRadio()
{
m_ForeColor = GetSysColor( COLOR_BTNTEXT ); //文字颜色
m_BackColor = GetSysColor( COLOR_BTNFACE ); //背景色
m_BkBrush.CreateSolidBrush(m_BackColor); //背景刷
}
CSkinRadio::~CSkinRadio()
{
}
BEGIN_MESSAGE_MAP(CSkinRadio, CButton)
//{{AFX_MSG_MAP(CMyRadio)
ON_WM_CTLCOLOR_REFLECT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
// CSkinRadio 消息处理程序
//重载的消息函数(=WM_CTLCOLOR,注:不是WM_CTLCOLOR)
//用于修改控件前景色和背景色
HBRUSH CSkinRadio::CtlColor(CDC* pDC, UINT nCtlColor)
{
pDC->SetTextColor( m_ForeColor );
pDC->SetBkColor( m_BackColor );
return (HBRUSH)m_BkBrush.GetSafeHandle();
}
void CSkinRadio::SetForeColor(COLORREF color) //设置文本颜色
{
m_ForeColor = color;
}
void CSkinRadio::SetBkColor(COLORREF color) //设置背景颜色
{
m_BackColor = color;
m_BkBrush.Detach();
m_BkBrush.CreateSolidBrush( m_BackColor );
}