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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.如果想改变按钮的背景色,简直太难了,你要重写两个类,还需要在网上下,孙鑫的视频教程中也简单介绍了这个,可只是改变按钮的文字颜色
参考技术A SetClassLong 试试,使用 GCL_HBRBACKGROUND 参数,
自定义一个颜色画刷。
参考技术B 在OnCtrlColor里面setbkcolor 参考技术C 建议 你 看一下 自绘按钮 的介绍

WinForm窗体,在VS2010上背景颜色不能设置透明,我把背景颜色和TransparencyK

WinForm窗体,在VS2010上背景颜色不能设置透明,我把背景颜色和TransparencyKey设置成同一个颜色,然后是透明了,但是加上背景图片以后就不是透明了,为毛,想要的效果就是像QQ的客户端一样,四角是透明的圆角,背景图片已经处理好了,在VS2012就可以设置透明背景颜色,求解低版本的实现方法啊,没分,对不住啊。。

参考技术A form的属性里有个opacity属性,可以调节控件的不透明度百分比,这个不行?追问

。。。。那个是设置整体窗体透明度的,而我只想让窗体本身透明。上面的控件并不透明,其实我就是想弄个圆角的窗口嘛,图片扣好了,但是四角总是会显示Form的背景色,。。。坑死

以上是关于VC中改变窗口背景颜色和控件背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

VC++如何改变按钮背景色

如何更改MFC按钮的背景色

VC 对话框背景颜色控件颜色(三种方法)

WinForm窗体,在VS2010上背景颜色不能设置透明,我把背景颜色和TransparencyK

QT动态改变控件背景颜色:用QPalette得到一个颜色m_penColor,如何让一个pushb

VC中动态改变背景颜色