诚能改换 static 控件的背景函数思路!(急)

诚求一个能改换 static 控件的背景函数思路!!!!!(急)
我要写一个关于能改换 static 控件的背景颜色函数,比如定义 void ChangeBK( HWND hwnd , UNIT nID, BOOL colormodel);
其中 nID 为控件ID,参数colormodel为0时绿色,1为红色。
急!有高手能提供相似代码,或者提供思路吗 ?
最好有代码,谢谢!!!!

------解决方案--------------------
首先不要用控件的ID是默认的IDC_STATIC,然后响应WM_CTLCOLOR消息就可以了:

HBRUSH CArchiveDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
if (nCtlColor == CTLCOLOR_STATIC)
{//这里返回的画刷就是其背景颜色了,空画刷表示透明,注意这个画刷不要是临时变量
return (HBRUSH)GetStockObject(NULL_BRUSH);
}
return hbr;
}
------解决方案--------------------
怎么不行? STATIC控件更具结构的某个成员状态来修改自己的现实状态
------解决方案--------------------
1楼的可行。。或者Static里面的Onpaint处理也可以。。
------解决方案--------------------
响应WM_CTLCOLOR消息完全正确,然后你自己建一个类成员变量来表示你要的状态就可以了