2009-08-17 3 views
0

Я использую этот блок кода, чтобы получить имя, стиль и размер шрифта, выбранные пользователем из диалогового окна шрифта управления CMFCPropertyFontProperty. Я уже могу получить имя и стиль, но размер, похоже, возвращает другое значение.Как получить размер шрифта от CMFCPropertyFontProperty

** CMFCPropertyGridProperty * pCurSel = m_wndPropList.GetCurSel(); CMFCPropertyGridFontProperty * pFontProp = dynamic_cast (pCurSel);

, если (pFontProp) {

LPLOGFONT font_info = pFontProp-> GetLogFont();

INT nSize = 0;

nSize = font_info-> lfHeight;

// nРазмер: кажется, возвращает отрицательное значение ... :(

} **

Я понимаю, что есть формула для этого: lfHeight = -MulDiv (PointSize, GetDeviceCaps (HDC, LOGPIXELSY), 72);

Но я, кажется, не может получить его работу ... как я могу получить HDC от CMFCPropertyFontProperty пожалуйста, помогите ...

ответ

0

Вы можете просто использовать GetDC (NULL); для получения HDC для экрана, который, как я полагаю, будет таким же, как что будет использовать диалог шрифта.

Документация LOGFONT описывает значение анолита и католита значения для элемента lfHeight,

http://msdn.microsoft.com/en-us/library/dd145037(VS.85).aspx

 Смежные вопросы

  • Нет связанных вопросов^_^