2009-08-17 2 views
0

私はこのコードブロックを使用して、CMFCPropertyFontPropertyコントロールのフォントダイアログからユーザーが選択したフォント名、スタイル、およびサイズを取得しています。私はすでに名前とスタイルを得ることができますが、サイズは異なる値を返すようです。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の場合は...負の値を返すようです:(

} **

私はそれのための式がありますことを実現: lfHeight = -MulDiv(POINTSIZE、GetDeviceCapsを(HDC、 LOGPIXELSY)、72);

しかし、私はそれが私がCMFCPropertyFontPropertyからのhDCを得るのですか...働くように見えることはできません助けてください...

答えて

0

あなただけGetDC(NULLを使用することができます);?私が想定している画面のHDCを取得するのと同じになりますフォントダイアログが使用するもの。

LOGFONTのドキュメントは、VE +の意味とlfHeightメンバーの-ve値を説明し

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

関連する問題