MFC工控项目实例二十二主界面计数背景颜色改变

承接专栏《MFC工控项目实例二十一型号选择界面删除参数按钮禁用切换》

1、在SEAL_PRESSUREDlg.h文件中添加代码

cpp 复制代码
class CSEAL_PRESSUREDlg : public CDialog
{
public:
CBrush m_brush1;
    CBrush m_brush2;
    CBrush m_brush3;
    ...
}    

2、在SEAL_PRESSUREDlg.cpp文件中添加代码

cpp 复制代码
BOOL CSEAL_PRESSUREDlg::OnInitDialog()
{
	CDialog::OnInitDialog();
	...
	m_brush1.CreateSolidBrush(RGB(0,255,0));//绿色
	m_brush2.CreateSolidBrush(RGB(255,0,0));//红色
	m_brush3.CreateSolidBrush(RGB(255,255,255));//白色
   ...
}

HBRUSH CSEAL_PRESSUREDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	if ((pWnd->GetDlgCtrlID() == IDC_STATIC_OK))
{
		pDC->SetTextColor(RGB(255, 255, 255));//设置文本框字体颜色
        pDC->SetBkMode(TRANSPARENT);
		 return (HBRUSH)m_brush1;
}
		if ((pWnd->GetDlgCtrlID() == IDC_STATIC_NG))
{
		pDC->SetTextColor(RGB(255, 255, 255));//设置文本框字体颜色pDC->SetBkMode(TRANSPARENT);//设透明
      pDC->SetBkMode(TRANSPARENT);
			 return (HBRUSH)m_brush2;
}
		if ((pWnd->GetDlgCtrlID() == IDC_STATIC_TOTAL))

		{
		pDC->SetTextColor(RGB(0, 0, 0));//设置文本框字体颜色pDC->SetBkMode(TRANSPARENT);//设透明
     	 pDC->SetBkMode(RGB(255, 255, 255));
		 return (HBRUSH)m_brush3;
}
	return hbr;
}
	

运行程序

相关推荐
IVVi0jToe5 分钟前
高效C++线程池设计与实现
java·c++·安全
^yi10 分钟前
【C++】内存管理
开发语言·c++
云栖梦泽29 分钟前
从 IMX415 摄像头驱动理解 Media Controller 框架
linux·开发语言·c++·嵌入式硬件
C++ 老炮儿的技术栈31 分钟前
MFC 自定义纯色居中文字进度条控件
c语言·数据库·c++·windows·算法·c·visual studio
researcher-Jiang31 分钟前
Manacher算法学习与应用
c++·学习·算法
凯瑟琳.奥古斯特2 小时前
二分查找解力扣1011最优运载能力
开发语言·c++·算法·leetcode·职场和发展
WZF-Sang2 小时前
TCP和UDP协议
linux·服务器·网络·c++·学习·tcp/ip·udp
Tim_102 小时前
【C++】014、左值与右值的区别
开发语言·c++
想人陪的玫瑰2 小时前
winform 能用 Native AOT 吗?——TDS 项目的实战尝试
c++·mfc
^yi2 小时前
【C++】类和对象(全)
开发语言·c++