MFC中在重载函数中更改字体大小

今天由于所绘制的图形当中的中文字体太大了,所以想要将其变小,但是网上找的很多放多的放大都是要用到窗口类CWND,而在静态文本框中是没有和窗口相关联的函数的,因此这个方法显得不是很好。

其实,说白了的方法很简单,直接在重载函数中设置一个CFOnt字体的对象,利用对象的构造函数直接设置你想要的字体,然后直接将老的字体替换掉,那么你之后的所有绘制所需要的字体都均是你想要的字体!

CFont font;
	font.CreateFont( 12,                                     //   nHeight   
		0,                                                   //   nWidth   
		0,                                                   //   nEscapement 
		0,                                                   //   nOrientation   
		FW_NORMAL,											 //   nWeight   
		FALSE,												 //   bItalic   
		FALSE,												 //   bUnderline   
		0,                                                   //   cStrikeOut   
		ANSI_CHARSET,										 //   nCharSet   
		OUT_DEFAULT_PRECIS,									 //   nOutPrecision   
		CLIP_DEFAULT_PRECIS,								 //   nClipPrecision   
		DEFAULT_QUALITY,								     //   nQuality   
		DEFAULT_PITCH   |   FF_SWISS,						 //   nPitchAndFamily     
		_T("宋体"));
	MemDC.SelectObject(&font);

如果你要还原的话,在之前设置的时候可以稍作修改。

CFont font,*oldpfont;
 MemDC.SelectObject(&oldpfont);
MemDC.SelectObject(&font);
//这样便将老的字体保存
//你更换字体之后
 //code
//准备换回原来的字体
MemDC.DeleteObject(&font);
oldfpnt->SelectObjec();

这样的话便可以方便的更换在你的绘图中需要用到的字大小了!


你可能感兴趣的:(MFC中在重载函数中更改字体大小)