似乎微软改变了主意:
http://www.80diy.com/home/20010908/12/277821.html
重载OnCtlColor只能改变窗体和STATIC的颜色,而对于Button则不行。而对于STATIC起作用的代码,对于CheckBox也有作用。
其他参考链接:
http://www.21cnvip.com/csdn/html/20051222/09/4474129.html
http://www.80diy.com/home/20010908/12/277821.html
重载OnCtlColor只能改变窗体和STATIC的颜色,而对于Button则不行。而对于STATIC起作用的代码,对于CheckBox也有作用。
其他参考链接:
http://www.21cnvip.com/csdn/html/20051222/09/4474129.html
HBRUSH CBrushDlg::OnCtlColor(CDC
*
pDC, CWnd
*
pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(CTLCOLOR_DLG ==nCtlColor)
return m_Brush;
else if(CTLCOLOR_STATIC == nCtlColor )
{
pDC->SetBkMode(TRANSPARENT );
return m_Brush;
}
else if(CTLCOLOR_BTN == nCtlColor )
{//useless here!!!!!!!!
pDC->SetBkMode(TRANSPARENT );
pDC->SetBkColor(RGB(255,0,0));
return m_Brush;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(CTLCOLOR_DLG ==nCtlColor)
return m_Brush;
else if(CTLCOLOR_STATIC == nCtlColor )
{
pDC->SetBkMode(TRANSPARENT );
return m_Brush;
}
else if(CTLCOLOR_BTN == nCtlColor )
{//useless here!!!!!!!!
pDC->SetBkMode(TRANSPARENT );
pDC->SetBkColor(RGB(255,0,0));
return m_Brush;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}