C++ 记事本

本文详细介绍了如何在MFC应用程序中设置字体,包括初始化SDI窗口、定义CView类成员变量、设定默认字体及实现字体选择功能。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1 新建SDI

2 在CView里面添加成员定义

public:
	CFont m_font;

3 添加WM_CREATE消息处理函数,设定默认字体

int CNotePadDemoView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CEditView::OnCreate(lpCreateStruct) == -1)
		return -1;

	// TODO:  在此添加您专用的创建代码
	CEdit& edit = GetEditCtrl();
	if (m_font.m_hObject==NULL)
	{
		m_font.CreatePointFont(120, _T("Fixedsys"));
	}
	edit.SetFont(&m_font);
	edit.SetTabStops(16);

	return 0;
}

4 在菜单栏增加菜单,ID为ID_SET_FONT,添加事件处理函数

void CNotePadDemoView::OnSetFont()
{
	// TODO: 在此添加命令处理程序代码
	LOGFONT lf;
	CFont* pFont = GetEditCtrl().GetFont();
	if (pFont==NULL)
	{
		pFont = new CFont();
		pFont->CreatePointFont(120, _T("Fixedsys"));
		pFont->GetLogFont(&lf);
		delete pFont;
	}
	else
	{
		pFont->GetLogFont(&lf);
	}
	CFontDialog fd(&lf);
	if (fd.DoModal()==IDOK)
	{
		m_font.DeleteObject();
		m_font.CreateFontIndirectW(&lf);
		SetFont(&m_font);
	}
}

 

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值