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;
}
	

运行程序

相关推荐
_多拉不懂A梦4 小时前
FFmepg源码系列-avformat_open_input()
c++·ffmpeg·音视频
码达拉4 小时前
顺序表的总结及模拟实现
数据结构·c++
源远流长jerry5 小时前
OpenHarmony概述与使用
c语言·c++·鸿蒙系统
艾莉丝努力练剑5 小时前
深入详解C语言的循环结构:while循环、do-while循环、for循环,结合实例,讲透C语言的循环结构
c语言·开发语言·c++·学习
郝学胜-神的一滴8 小时前
C++中的`auto`与`std::any`:功能、区别与选择建议
开发语言·c++·程序人生·算法
极客BIM工作室10 小时前
老生常谈智能指针:《More Effective C++》的条款28
开发语言·c++
嘟爸教编程11 小时前
C++少儿编程(二十二)—条件结构
开发语言·c++
幸幸子.12 小时前
LeetCode 组合总数
c++·算法·leetcode
☆璇12 小时前
【C++】哈希
c++·算法·哈希算法
菜就多练,以前是以前,现在是现在14 小时前
Codeforces Round 1042 (Div. 3)
c++·算法