HBRUSH CMyDialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
//pDC->SetBkColor(0x0000ff);
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); // TODO:  在此更改 DC 的任何特性
//pDC->SetBkColor(0x0000ff);
if(nCtlColor==CTLCOLOR_DLG)
hbr=::CreateSolidBrush(0x0000ff);
else if(nCtlColor==CTLCOLOR_BTN||nCtlColor==COLOR_BTNFACE)
hbr=::CreateSolidBrush(0x0000ff);
// TODO:  如果默认的不是所需画笔,则返回另一个画笔
return hbr;
}在VC2010中,上面的代码能够成功修改对话框的背景颜色,却不能修改对话框上面的按钮的背景颜色
而在VC2003中,根本任何背景颜色都无法修改,不知道是为什么
用SetDialogBkColor也说什么声明被否决