- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)