工控编程吧

标题: 上位机MFC如何改变控件的颜色 [打印本页]

作者: qq263946146    时间: 2019-7-27 12:39
标题: 上位机MFC如何改变控件的颜色
可以简单的从父类派生一个子类。在子类中实现控件背景,字体等颜色的设置。
例如我们实现一个编辑框背景,字体颜色设置的功能
1.新建立一个对话框工程,添加一个新的类class CEditEx : public CEdit。
2.添加消息ON_WM_CTLCOLOR_REFLECT处理函数

  1. HBRUSH CEditEx::CtlColor(CDC* pDC, UINT nCtlColor)
  2. {
  3.         // TODO: Change any attributes of the DC here
  4.                 pDC->SetTextColor(RGB(0xFF, 0x00, 0x00));
  5.         pDC->SetBkColor(RGB(0x99, 0xCC, 0xFF));

  6.         HBRUSH hBrush = CreateSolidBrush(RGB(0x99, 0xCC, 0xFF));
  7.         return hBrush;
  8.         // TODO: Return a non-NULL brush if the parent's handler should not be called
  9.         return NULL;
  10. }
复制代码


这样我们的类就创建好了。
字体的颜色,背景的颜色也在函数内设置了。效果如图
(, 下载次数: 2)