怎么设置按钮,进度条,编辑框等控件的背景?

如何设置按钮,进度条,编辑框等控件的背景??


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


pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(TRANSPARENT);


// TODO: Change any attributes of the DC here
if(nCtlColor == IDC_EDIT1)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(TRANSPARENT);
}

if(nCtlColor == IDC_BUTTON1)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(TRANSPARENT);
}

if(nCtlColor == IDC_PROGRESS2)
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(TRANSPARENT);
}


// TODO: Return a different brush if the default is not desired
return hbr;
}



这是我的代码。
通过vc6.0 add window message handler添加OnCtlColor 函数
但是背景没有改变,
哪里出错了??
求大神指点 
控件 IDC 背景 VC

------解决方案--------------------
pDC->SetBkMode(TRANSPARENT);//这句是设置DC里文本绘制时是否有背景
pDC->SetBkColor(TRANSPARENT);//这句是设置DC里文本背景颜色,参数不应该是TRANSPARENT
最关键的是,你必须返回一个空画刷,而不是CDialog::OnCtlColor返回的那个.
正确方法:return (HBRUSH)GetStockObject(NULL_BRUSH);//返回一个空画刷
参考:标签背景透明以及文字重叠问题解决方法
http://bbs.****.net/topics/390401008