网站大量收购独家精品文档,联系QQ:2885784924

CFont类的用法,VC,VS.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CFont类的用法,VC,VS

CFont详解:  Windows提供了多种与设备无关的不同尺寸的字体。有效地使用这些Windows字体,不用在编程时下很大功夫,就可以明显地增强各种应用程序的功能。字体是Windows GDI必要的组成部分,这意味字体的使用与其他GDI对象一样。它们可以缩放和剪切,可以像选取画笔或者画刷一样选取设备环境。所有关于撤消选中和删除的GDI规则都适用于字体。 字体由CFont类进行管理,创建CFont类必须使用CFont类的成员函数,这点与CPen和CBrush有所不同。 1.CFont提供的创建字体的成员函数 利用CFont创建字体的方法有两种,它们是: (1)BOOL CreateFontIndirect(const LOGFONT* lpLogFont ) 该对象通过LOGFONT结构创建字体,LOGFONT结构的定义如下: typedef struct tagLOGFONT { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; TCHAR lfFaceName[LF_FACESIZE]; } LOGFONT; LOGFONT结构中各个成员的含义如下: lfHeight:设置字体的高度。 lfWidth:设置字体的平均宽度。 LfEscapement:设定字符串底线与水平线的夹角,夹角是以0.1度为单位。 lfOrientation:设定每一个字符的底线与水平线的夹角,夹角是以0.1度为单位。 lfWeight:设置字体的粗细,其取值范围为0~1000,通常400为正常粗细,700为粗,如果取值为0,则选择默认粗细。 lfItalic:如果为TRUE,则字体为斜体。 lfUnderline:如果为TRUE,则字体带下划线。 lfStrikeOut:如果为TRUE,则字体带删除线。 lfCharSet:指定字符集。 LfOutPrecision:指定输出时字体的精度。 lfClipPrecision:指定输出时字体被裁剪的精度。 lfQuality:指定输出质量。 lfPitchAndFamily:设置字体的斜度和字体类型。 lfFaceName[LF_FACESIZE]:设置字体字样。 (2)CreateFont()成员函数 CreateFont()成员函数的原型: BOOL CreateFont( int nHeight,???????????????? //以逻辑单位方式指定字体的宽度 int nWidth,???????????????? //以逻辑单位方式指定字体中字符的平均宽度 int nEscapement,???????????? //指定偏离垂线和X轴在显示面上的夹角(单位:0.1度) int nOrientation,?????? //指定符串基线和X轴之间的夹角(单位:0.1度) int nWeight,???????????????? //指定字体镑数 BYTE bItalic,?????????????? //指定字体是否为斜体 BYTE bUnderline,??????????? //指定字体是否带下划线 BYTE cStrikeOut,??????????? //指定是否是字体字符突出 BYTE nCharSet,???????????? //指定字体的字符集 BYTE nOutPrecision,??????? //指定所需的输出精度 BYTE nClipPrecision,??????? //指定所需的剪贴精度 BYTE nQuality,??????????? //指示字体的输出质量 BYTE nPitchAndFamily,????? //指定字体的间距和家族 LPCTSTR lpszFacename?? //指定字体字样的名称 ) 参数说明: nHeight:其取值范围可以大于0、等于0或小于0。nHeight以逻辑单位方式指定字体的高度,字体的高度可任选下列值。 2????? 大于0:此时高度被转化为设备单位,与可用字体的网格高度做比较。 2????? 等于0:使用合理的缺省大小。 2????? 小于0:此时高度被转化为设备单位,而绝对值与可用字体的字符高度做比较。 注意:nHeight绝对值在转化后不可超过16384设备单位。 nEscapement:指定偏离垂线与X轴在显示

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档