0
私は例のCFont
高さと大きさの間の依存性を検証しようとしています:C++でそのフォントの高さを計算しますか?
int main(int argc, char* argv[])
{
int myVariableFontHeight = 90;
CFont * font = new CFont();
LOGFONT lf;
memset(&lf,0,sizeof(LOGFONT));
lf.lfHeight = myVariableFontHeight;
lf.lfWeight =FW_BOLD;
lf.lfCharSet = 1;
_tcscpy_s(lf.lfFaceName , "Arial Unicode MS");
font->CreatePointFontIndirect(&lf);
font->GetLogFont(&lf);
int fontHeight = lf.lfHeight;
HWND console = GetConsoleWindow();
HDC dc = GetDC(console);
int nFontSize = -::MulDiv(lf.lfHeight, 72, ::GetDeviceCaps(dc, LOGPIXELSY));
delete font;
return 0;
}
そして結果は常にnFontSize = myVariableFontHeight/10
です。この要因10は何ですか?それはどこから来ますか?指定したサイズからフォントの高さを計算できますか?
ありがとうございました
にlf.lfHeightを設定しますか? – IInspectable
私たちのツールでは、myVariableFontHeight'には90という値がありました。私がそれを設定したら、一般的なテキストエディタのようなフォントサイズを使いたいと思います。しかし、このvarはコード内で複数使用されているので、論理を破り、myFontSizeで計算することは望ましくありません。 – alex555