windows的字体结构 LOGFONT

在Windows内部,字体是以一个名为LOGFONT的结构来表示

 

结构体原型:

 

  typedef struct tagLOGFONT

  {

      LONG lfHeight;  //以逻辑单位指定字体字符元(character cell)或字符的高度。

  LONG lfWidth;   //以逻辑单位指定字体字符的平均宽度

  LONG lfEscapement;    //以十分之一度为单位指定每一行文本输出时相对于页面底端的角度

  LONG lfOrientation;     //以十分之一度为单位指定字符基线相对于页面底端的角度

  LONG lfWeight; //指定字体重量。在Windows中,字体重量这个术语用来指代字体的粗细程度。

  

      BYTE lfItalic;        //当lfItalic为TRUE时使用斜体

  BYTE lfUnderline; //当lfUnderline为TRUE时给字体添加下划线

  BYTE lfStrikeOut; //当lfStrikeOut为TRUE时给字体添加删除线

  BYTE lfCharSet;  //指定字符集。可以使用下面的预定义值:    ANSI_CHARSET

                                                                                        //  OEM_CHARSET

                                                                                        //  SYMBOL_CHARSET

                                                                                        //  UNICODE_CHARSET

                                                                                        //其中OEM字符集是与操作系统相关的。

 

  BYTE lfOutPrecision; //指定输出精度。输出精度定义了输出与所要求的字体高度、宽度、字符方向等的接近程度。

                                      //它可以为下面的 OUT_CHAR

                                                         //    ACTER_PRECIS

                                                         //    OUT_DEFAULT_PRECIS

                                                         //    OUT_STRING_PRECIS

                                                         //    OUT_STROKE_PRECIS

 

  BYTE lfClipPrecision; //指定剪辑精度。剪辑精度定义了当字符的一部分超过剪辑区域时对字符的剪辑方式.

                                     //它可以为下列值之一:CLIP_CHAR

                                                                   //ACTER_PRECIS

                                                                   //CLIP_DEFAULT_PRECIS

                                                                   //CLIP_STROKE_PRECIS

  

      BYTE lfQuality;  //定义输出质量。输出质量定义了图形设备接口在匹配逻辑字体属性到实际的物理字体的所使用的方式.

                              //它可以为下列值之一:DEFAULT_QUALITY (默认质量)

                                                            //DRAFT_QUALITY (草稿质量)

                                                            //PROOF_QUALITY (正稿质量)

 

  BYTE lfPitchAndFamily;// 指定字体的字符间距和族                                        

 

  TCHAR lfFaceName[LF_FACESIZE]; //一个指定以NULL结尾的字符串的指针,它指定的所用的字体名。  } LOGFONT;

举例:

LOGFONT logFont;
    //内容字体设置
    logFont.lfHeight =(50);
    logFont.lfWidth = 0;
    logFont.lfEscapement = 0;
    logFont.lfOrientation = 0;
    logFont.lfWeight = 500;
    logFont.lfItalic = 0;
    logFont.lfUnderline = 0;
    logFont.lfStrikeOut = 0;
    logFont.lfCharSet = ANSI_CHARSET;
    logFont.lfOutPrecision = OUT_DEFAULT_PRECIS;
    logFont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
    logFont.lfQuality = PROOF_QUALITY;
    logFont.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
  strcpy(logFont.lfFaceName,"宋体");
  CFont font;
     font.CreateFontIndirect(&logFont);
   m_RichText.SetFont(&font);

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值