我正在创建一个比平常更大的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);
当我在编写应用程序时,这个字体在笔记本电脑上显示正常,但现在我在普通电脑上进行测试它显示的太大而且不适合:
如何在运行应用程序的每台电脑上使字体看起来很好?
答案 0 :(得分:4)
不要使用硬编码54
作为字体大小,而是尝试根据点数计算大小:
int points = 32;
pix = -MulDiv(points, GetDeviceCaps(hdc, LOGPIXELSY), 72);
根据需要调整points
,直到字体适合。现在它应该在系统之间保持一致。