【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;
}
相关推荐
仰泳的熊猫4 小时前
题目2570:蓝桥杯2020年第十一届省赛真题-成绩分析
数据结构·c++·算法·蓝桥杯
Thera7778 小时前
C++ 高性能时间轮定时器:从单例设计到 Linux timerfd 深度优化
linux·开发语言·c++
君义_noip9 小时前
信息学奥赛一本通 1952:【10NOIP普及组】三国游戏 | 洛谷 P1199 [NOIP 2010 普及组] 三国游戏
c++·信息学奥赛·csp-s
旖-旎10 小时前
二分查找(x的平方根)(4)
c++·算法·二分查找·力扣·双指针
顶点多余10 小时前
使用C/C++语言链接Mysql详解
数据库·c++·mysql
汉克老师10 小时前
GESP2026年3月认证C++四级( 第二部分判断题(1-10))
c++·指针·函数重载·文件操作·数组·gesp4级·gesp四级
khddvbe11 小时前
C++并发编程中的死锁避免
开发语言·c++·算法
wWYy.12 小时前
STL:list
开发语言·c++
小比特_蓝光12 小时前
vector模拟实现
c++
咱就是说不配啊12 小时前
3.19打卡day33
数据结构·c++·算法