MFC里怎么改变窗口上按钮控件的颜色

单文档窗口基类CFormView已经在view类里把窗口的背景色改成纯白色我想把按钮控件也改成这种纯白色试过在属性设置里改成透明不知为什么没用?有什么其他方法?只要单纯的... 单文档窗口 基类CFormView 已经在view类里把窗口的背景色改成纯白色 我想把按钮控件也改成这种纯白色 试过在属性设置里改成透明不知为什么没用? 有什么其他方法? 只要单纯的改个颜色就行 编译器是vs2010 展开
 我来答
zouadw
推荐于2017-11-26 · TA获得超过102个赞
知道答主
回答量:90
采纳率:100%
帮助的人:96.2万
展开全部
更改控钮控件的底色可以派生一个CButton类,然后重载DrawItem函数,在这个函数中将底色设成白色。然后添加WM_ERASEBKGND 消息处理函数,
//return CButton::OnEraseBkgnd(pDC);
return TRUE;
注释掉原来的 return 语句,改为直接返回 true;

//想从窗口中去更改按钮的底色,比较麻烦,除非你用勾子函数。
更多追问追答
追问

在OnCtlColor这方法其他控件背景能改   但按钮背景无法更改:

为什么呢?

追答
因为在窗口的OnCtlColor 之后,按钮控件还要调用自身的绘制函数DrawItem ,所以你的设置被庶盖了,也就无效了。
loboho
2013-08-28 · TA获得超过506个赞
知道小有建树答主
回答量:441
采纳率:100%
帮助的人:409万
追问
这个不好用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式