VC中改变窗口背景颜色和控件背景颜色

想改变对话框的背景颜色和控件的背景颜色,特别是按扭,
有没有简单的办法
有没有最简单的,好象有一个直接获得控件ID后,用一个函数,请高手们指教,谢谢!

1.改变对话框的背景色
在C…App类中的InitInstance()里添加
SetDialogBkColor(RGB(0,192,0),RGB(0,0,0));
2.如果想改变静态文本或单选按钮的背景色可以用你说的那个获得控件ID,然后设置背景色,具体步骤:
(1)响应对话框类的WM_CTLCOLOR消息生成OnCtlColor函数
(2)为对话框类添加成员变量CBrush m_brush;
并在初始化函数中初始化m_brush.CreateSolidBrush(RGB(0,255,0));
(3)在OnCtlColor函数中添加代码以改变控件的文字颜色和背景色
switch(pWnd->GetDlgCtrlID())
{
case(IDC_INPUT):
pDC->SetTextColor(RGB(255,0,192));
pDC->SetBkMode(TRANSPARENT);
return m_brush;
break;
case(IDC_EDIT1):
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT);
return m_brush;
break;
case(IDC_CHOICE):
pDC->SetTextColor(RGB(255,128,0));
pDC->SetBkMode(TRANSPARENT);
return m_brush;
break;
case(IDC_RADIO1):
pDC->SetTextColor(RGB(255,0,20));
pDC->SetBkMode(TRANSPARENT);
return m_brush;
break;
default:
break;
}
3.如果想改变按钮的背景色,简直太难了,你要重写两个类,还需要在网上下,孙鑫的视频教程中也简单介绍了这个,可只是改变按钮的文字颜色
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-06-02
SetClassLong 试试,使用 GCL_HBRBACKGROUND 参数,
自定义一个颜色画刷。
第2个回答  2008-05-26
在OnCtrlColor里面setbkcolor
第3个回答  2008-05-26
建议 你 看一下 自绘按钮 的介绍
相似回答