C++ 记事本

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

猜你喜欢

转载自blog.csdn.net/dxm809/article/details/114227724