2009-08-17 16 views
0

Ich verwende diesen Codeblock, um den Schriftartnamen, den Stil und die Größe, die vom Benutzer ausgewählt wurden, aus dem Schriftartendialog des CMFCPropertyFontProperty-Steuerelements abzurufen. Ich bin schon in der Lage, den Namen und den Stil zu bekommen, aber die Größe scheint einen anderen Wert zurückzugeben.So erhalten Sie die Schriftgröße von CMFCPropertyFontProperty

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

if (pFontProp) {

LPLOGFONT font_info = pFontProp-> GetLogFont();

INT nSize = 0;

nSize = font_info-> lfHeight;

// nSize scheint einen negativen Wert zurück ... :(

} **

Mir ist klar, dass eine Formel für sie da ist: LfHeight = -MulDiv (Point, GetDeviceCaps (hDC, LOGPIXELSY), 72);

Aber ich kann nicht scheinen, um es zum Laufen zu bringen ... wie kann ich die hDC von CMFCPropertyFontProperty setzen Sie sich bitte helfen ...

Antwort

0

Sie können nur GetDC (NULL verwenden?); um einen HDC für den Bildschirm zu bekommen, von dem ich annehme, dass er derselbe ist was der Schriftartendialog benutzt.

Die LOGFONT Dokumentation beschreibt die Bedeutung der + ve und -ve Werte für die LfHeight Mitglied,

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

Verwandte Themen