填充statictext的背景色有关问题

填充statictext的背景色问题

afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);

HBRUSH CMatrixCtrlDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: 在此更改 DC 的任何属性

// TODO: 如果默认的不是所需画笔,则返回另一个画笔

switch(nCtlColor)  

case CTLCOLOR_STATIC:
pDC-> SetTextColor(RGB(28,28,90)); 
pDC-> SetBkColor(RGB(227,242,208)); 
return m_Brush;

case CTLCOLOR_LISTBOX: 
pDC-> SetTextColor(RGB(28,28,90)); 
pDC-> SetBkColor(RGB(255,255,255));
return (HBRUSH) (m_Brush. GetSafeHandle()); 

case CTLCOLOR_EDIT: 
pDC-> SetTextColor(RGB(28,28,90)); 
pDC-> SetBkColor(RGB(255,255,255));
return (HBRUSH) (m_Brush. GetSafeHandle()); 

case CTLCOLOR_BTN: 
pDC-> SetTextColor(RGB(28,28,90)); 
pDC-> SetBkColor(RGB(204,231,170)); 
return (HBRUSH) (m_Brush. GetSafeHandle()); 

case CTLCOLOR_DLG: 
pDC-> SetTextColor(RGB(28,28,90)); 
pDC-> SetBkColor(RGB(227,242,208));
return (HBRUSH) (m_Brush. GetSafeHandle()); 

default: 
return hbr; 
}
}

这个函数貌似没起到作用,各静态文本框背景都是灰色。帮忙看看啥问题。。。

------解决方案--------------------
去掉这句:
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
并这么改最后两句:
default:
return m_Brush; 
同时,你得赋给m_Brush这个变量的值 
m_Colour=RGB(255,255,255);
m_Brush=CreateSolidBrush(m_Colour);