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

运行程序

相关推荐
PingdiGuo_guo15 分钟前
C++智能指针的知识!
开发语言·c++
Chuncheng's blog18 分钟前
CentOS 7如何编译安装升级gcc至7.5版本?
linux·运维·c++·centos
愚润求学2 小时前
【C++】类型转换
开发语言·c++
@我漫长的孤独流浪2 小时前
数据结构测试模拟题(4)
数据结构·c++·算法
csdnzzt3 小时前
从内存角度透视现代C++关键特性
c++
jie188945758663 小时前
C++ 中的 const 知识点详解,c++和c语言区别
java·c语言·c++
明月*清风3 小时前
c++ —— 内存管理
开发语言·c++
西北大程序猿4 小时前
单例模式与锁(死锁)
linux·开发语言·c++·单例模式
qq_454175795 小时前
c++学习-this指针
开发语言·c++·学习
超闻逸事6 小时前
【题解】[UTPC2024] C.Card Deck
c++·算法