【24】MFC入门到精通——MFC在静态框中 更改字体、颜色、大小 、背景

文章目录

1.修改字体、大小

声明一个CFont类型的类成员变量

cpp 复制代码
CFont m_editFont;

在需要的地方 添加以下两行代码:

cpp 复制代码
//设置静态文本字体大小
m_editFont.CreatePointFont(180, _T("宋体"));
m_Static.SetFont(&m_editFont);

或者新建一个CFont对象

cpp 复制代码
CFont *pFont = new CFont();
//设置静态文本字体大小
pFont->CreatePointFont(180, _T("宋体"));
GetDlgItem(IDC_STATIC)->SetFont(pFont);

2.改变编辑框文本颜色、背景颜色

添加OnCtlColor函数

右键点击该对话框-> 类导向 -> 消息 ->双击添加WM_CTLCOLOR,就可以在Dlg类中看到3所示函数OnCtlColor了。

添加之后,添加代码

cpp 复制代码
HBRUSH CMFCApplication1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

	// TODO:  在此更改 DC 的任何特性
	if (pWnd->GetDlgCtrlID() == IDC_result_STATIC)// IDC_result_STATIC为所选文本框ID
	{
		pDC->SetTextColor(RGB(0, 255, 0));//设置字体颜色 
		pDC->SetBkColor(RGB(0, 0, 0));//设置背景颜色
		//pDC->SetBkMode(TRANSPARENT);//设置背景透明
	}
	// TODO:  如果默认的不是所需画笔,则返回另一个画笔
	return hbr;
}

3 运行实例

当按下 Button3,在静态框中显示 ,绿色的OK,背景黑色

cpp 复制代码
void CMFCApplication1Dlg::OnBnClickedButton3()
{
	// TODO: 在此添加控件通知处理程序代码
	CFont* pFont = new CFont();
	//设置静态文本字体大小
	pFont->CreatePointFont(800, _T("楷体"));
	GetDlgItem(IDC_result_STATIC)->SetFont(pFont);

	CString str = _T("OK");
	SetDlgItemText(IDC_result_STATIC, str);
}

HBRUSH CMFCApplication1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
	HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);

	// TODO:  在此更改 DC 的任何特性
	if (pWnd->GetDlgCtrlID() == IDC_result_STATIC)// IDC_result_STATIC为所选文本框ID
	{
		pDC->SetTextColor(RGB(0, 255, 0));//设置字体颜色 
		pDC->SetBkColor(RGB(0, 0, 0));//设置背景颜色
		//pDC->SetBkMode(TRANSPARENT);//设置背景透明
	}
	// TODO:  如果默认的不是所需画笔,则返回另一个画笔
	return hbr;
}
相关推荐
_dindong1 小时前
笔试强训:Week-4
数据结构·c++·笔记·学习·算法·哈希算法·散列表
liu****2 小时前
12.线程(二)
linux·开发语言·c++·1024程序员节
小冯的编程学习之路2 小时前
【C++】:C++基于微服务的即时通讯系统(2)
开发语言·c++·微服务
许长安2 小时前
C/C++中的extern关键字详解
c语言·开发语言·c++·经验分享·笔记
earthzhang20213 小时前
【1039】判断数正负
开发语言·数据结构·c++·算法·青少年编程
蕓晨3 小时前
auto 自动类型推导以及注意事项
开发语言·c++·算法
mjhcsp4 小时前
C++ 递推与递归:两种算法思想的深度解析与实战
开发语言·c++·算法
_OP_CHEN4 小时前
算法基础篇:(三)基础算法之枚举:暴力美学的艺术,从穷举到高效优化
c++·算法·枚举·算法竞赛·acm竞赛·二进制枚举·普通枚举
m0_748248024 小时前
《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
java·开发语言·c++·算法
卡提西亚4 小时前
一本通网站1122题:计算鞍点
c++·笔记·编程题·一本通