15,979
社区成员
发帖
与我相关
我的任务
分享
DWORD CStaticEx::AdjustFont(LONG lUnits,int const nWeight,int const nChare,BOOL bItalic,BOOL bUnderline,
BOOL bStrikeOut)
{
CFont *lpFont = GetFont(),tgFont;
CRect tgRc;
CSize tgSize;
LOGFONT tgLogFont = { 0 };
GetClientRect(&tgRc);
lpFont = GetFont();
lpFont->GetLogFont(&tgLogFont);
tgLogFont.lfHeight = -MulDiv(tgRc.Width()/70 + lUnits,m_tgDrawContext.m_tgCompatibleDC.GetDeviceCaps(LOGPIXELSY),72);
tgLogFont.lfWeight = nWeight;
tgLogFont.lfPitchAndFamily = DEFAULT_PITCH|FF_SWISS;
if( nWeight >= SEMIBOLD)
strcpy(tgLogFont.lfFaceName,_T("Tahoma"));
tgFont.CreateFontIndirect(&tgLogFont);
SetFont(&tgFont);
m_lpDefFont = lpFont;
return SetWindowText(m_szText,m_dwTxtColor,m_unFormat);
}
void CMyMenu::DrawItem (LPDRAWITEMSTRUCT lpDIS)
{
ASSERT(lpDIS != NULL);
CDC* pDC = CDC::FromHandle(lpDIS->hDC);
//之前创建好的字体CFont*m_pNewFont;
CFont *pOldFont = pDC->SelectObject(m_pNewFont);
pDC->TextOut(x,y,szText);
pDC->SelectObject(pOldFont);
}