TextOut 使用创建字体的方法不同造成不同的显示结果

LOGFONT logFont;

logFont.lfHeight         = 12;
  logFont.lfEscapement     = 0;
  logFont.lfOrientation    = 0;
  logFont.lfWeight      = FW_BOLD;
  logFont.lfItalic         = FALSE;
  logFont.lfUnderline      = FALSE;
  logFont.lfStrikeOut      = FALSE;
  logFont.lfOutPrecision   = OUT_STROKE_PRECIS;
  logFont.lfClipPrecision  = CLIP_STROKE_PRECIS;
  logFont.lfQuality   = DEFAULT_QUALITY;
  logFont.lfPitchAndFamily = VARIABLE_PITCH|FF_MODERN;
  logFont.lfCharSet      = GB2312_CHARSET;
  strcpy(logFont.lfFaceName, "宋体");


  VERIFY(m_Font2.CreateFont(
   12,                        // nHeight 字体的高度
   0,                         // nWidth 字体的宽度
   0,                         // nEscapement 字体显示的角度
   0,                         // nOrientation 字体的角度
   FW_BOLD,                 // nWeight 字体的磅数
   FALSE,                     // bItalic 斜体字体
   FALSE,                     // bUnderline 带下划线的字体
   FALSE,                         // cStrikeOut 带删除线的字体
   GB2312_CHARSET,              // nCharSet 所需的字符集
   OUT_STROKE_PRECIS,        // nOutPrecision 输出的精度
   CLIP_STROKE_PRECIS,       // nClipPrecision 裁减的精度
   DEFAULT_QUALITY,           // nQuality 逻辑字体与输出设备的实际字体之间的精度
   VARIABLE_PITCH|FF_MODERN,  // nPitchAndFamily  字体间距和字体集
   _T("宋体")));                 // lpszFacename 字体名称

 

//上面两种不同的字体创建方法,第一种在下面显示不正常,都挤在一起了,m_Font2可以正常显示

CFont* pOldFont = pDC->SelectObject(&m_Font2);
 //CFont* pOldFont = pDC->SelectObject(&m_Font);
 
 pDC->SetBkMode(TRANSPARENT);
 pDC->TextOut(6, (m_nTitleHeight - 12) / 2, m_strTitle.Left(20));
 
 pDC->SetBkMode(OPAQUE);
 pDC->SelectObject(pOldFont);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值