我正在使用此代码块从 CMFCPropertyFontProperty 控件的字体对话框中获取用户选择的字体名称、样式和大小。我已经能够获得名称和样式,但大小似乎返回了不同的值。
CMFCPropertyGridProperty* pCurSel = m_wndPropList.GetCurSel();
CMFCPropertyGridFontProperty* pFontProp = dynamic_cast<CMFCPropertyGridFontProperty*>(pCurSel);
if (pFontProp) {
LPLOGFONT font_info = pFontProp->GetLogFont();
INT nSize = 0;
nSize = font_info->lfHeight;
//nSize seems to return a negative value... :(
}
我意识到有一个公式:
lfHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);
但我似乎无法让它工作......我如何从 CMFCPropertyFontProperty 获得 hDC?请帮忙...