0

我正在创建一个比平常更大的 CFont :

font1.CreateFont(54, 0, 0, 0, FW_HEAVY, false, false, 0, ANSI_CHARSET, 
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH|FF_MODERN,
_T("Courier New"));

并设置一个 CEdit 控件来使用它:

m_cEditLimit.SetFont(&font1);

当我编写应用程序时,这种字体在笔记本电脑上显示正常,但现在我在普通电脑上进行测试,它显示太大并且不适合:

在此处输入图像描述

如何使字体在运行应用程序的每台电脑上看起来都不错?

4

1 回答 1

4

54尝试根据点计算大小,而不是使用硬编码的字体大小:

int points = 32;
pix = -MulDiv(points, GetDeviceCaps(hdc, LOGPIXELSY), 72);

根据需要进行调整points,直到字体适合。现在它应该在系统之间保持一致。

于 2012-08-06T21:33:10.670 回答