当前位置:  开发笔记 > 编程语言 > 正文

MFC:更改CEdit的颜色

如何解决《MFC:更改CEdit的颜色》经验,为你挑选了1个好方法。

伙计们,有人可以简要介绍一下如何在运行时更改CEdit控件的背景颜色吗?如果字段长度为零,我希望能够将背景更改为红色,否则为正常白色.



1> gbjbaanb..:

你不能用普通的CEdit做,你需要覆盖几个位.

实现自己的ON_WM_CTLCOLOR_REFLECT处理程序,然后在处理程序中返回彩色CBrush:

(粗略地说,你需要将常用的资源管理放在那里,记得在析构函数中删除你的画笔)

class CColorEdit : public CEdit
{
  ....
  CBrush   m_brBkgnd;
  afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor)
  {
    m_brBkgnd.DeleteObject();
    m_brBkgnd.CreateSolidBrush(nCtlColor);
  }
}

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有