第3章 图形与文本29488.pptVIP

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 图形与文本29488

第 3 章 图形和文本输出 3.4 处理文本 3.4.1 设置文本显示属性 在默认情况下输出文本时,字体颜色是黑色,背景颜色是白色,背景模式为不透明模式。 通过调用CDC类成员函数重新设置字体颜色、背景颜色和文本对齐方式等文本显示属性,下表是文本属性显示的常用函数。 1.设置背景模式 SetBkMode( )函数原型为:? int SetBkMode(int nBkMode);? 其中,nBkMode指定背景模式,其值是OPAQUE(不透明)或TRANSPARENT(透明)。 2.设置文本对齐方式 SetTextAlign( )函数改变文本对齐方式:? UINT SetTextAlign(UINT nFlags);? 其中,nFlag为下表中列出的标志的组合。 3.4.2 设置字体 Windows支持光栅字体、矢量字体和TrueType三种类型的字体。 字体也是一种GDI对象,字体对象的创建、选择、使用和删除的步骤与其他GDI对象类似。 CFont类提供的创建函数中常用的有以下几个: 1.CreatePointFont( ) ? BOOL CreatePointFont(int nPointSize, LPCTSTR lpszFaceName,CDC* pDC=NULL);? 参数说明: nPointSize:字体大小,以1/10磅为单位; lpszFaceName:创建字体对象所使用的字体名称; pDC:指向一个设备环境对象。 2.CreateFontIndirect( ) ?BOOL CreateFontIndirect(const LOGFONT *lpLogFont);? 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; 参数lpLogFont为指向LOGFONT结构的指针。LOGFONT结构用来说明一种字体的所有属性。 3.CreateFont( ) 该函数包括大量参数,其原型为:? BOOL CreateFont( int nHeight; int nWidth; int nEscapement; int nOrientation; int nWeight; BYTE bItalic; BYTE bUnderline; BYTE cStrikeOut; BYTE nCharSet; BYTE nOutPreclsion; BYTE nClipPrecision; BYTE nQuality; BYTE nPitchAndFamily; LPCTSTR lpszFacename; ) 可以选择库存字体来重新设置字体。当选择库存字体作为文本输出的字体时,无须创建字体对象,只需简单地调用成员函数CDC::SelectStockObject( ),将库存字体对象选入设备环境。 【例3.8】 编写一个单文档的应用程序Li3_8,采用不同的方法创建字体,并根据创建的字体输出不同的文本。 3.4.3 格式化文本 文本的显示是以像素为单位,在绘制任何文本之前,需要精确地知道文本的详细属性,如高度、宽度等,用来计算文本坐标。 CDC类提供了几个文本测量成员函数: 1.GetTextExtent( ) 获得所选字体中指定字符串的宽度和高度。? CSize GetTextExtent(LPCTSTR lpszString,int nCount);? 其中,1pszString是字符串的指针,nCount是所包括的字符数。 返回值CSize是包含两个成员的结构,cx是字符串的宽度,cy是字符串的高度。 2.GetTextMetrics( ) 获得当前字体TEXTMETRIC结构的数据。? BOOL GetTextMet

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档