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

このフォントは、アプリを書いているときにラップトップで問題なく表示されていましたが、通常のPCでテストしているため、大きすぎて収まりません。

ここに画像の説明を入力してください

アプリが実行されているすべてのPCでフォントの見栄えを良くするにはどうすればよいですか?

4

1 に答える 1

4

ハードコーディングさ54れたフォント サイズを使用する代わりに、ポイントに基づいてサイズを計算してみてください。

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

pointsフォントが収まるまで、必要に応じて調整します。これで、システム間で一貫性が保たれるはずです。

于 2012-08-06T21:33:10.670 に答える