第五章 文本与字体.pptx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 文本与字体Windows经常使用GDI进行文本输出。在Windows中,图形和文本没有明显的界限,很多时候,Windows把文本也当作图形对待。使用定义好的与设备无关的字体集,Windows就能维护它的设备无关性,提供“所见即所得”的好处,这意味着屏幕上显示的文本与用打印机或绘图仪等输出设备输出的文本是完全一样的。先要获得文本句柄文本操作设置字体、字符大小、字符颜色等有关属性将这些属性选入设备环境在Windows编程中,文本操作首先要获得文本句柄,此外,应用程序还要设置字体、字符大小、字体颜色等有关属性,并将这一些属性选入设备环境。主要内容5.1 设置文本的设备环境5.2文本的输出过程5.3应用程序举例5.1 设置文本的设备环境字体描述了所要显示的文本的大小,类型和外形,也就是说,字体包含字符集中每个字符的一个特殊描述。物理字体是为特殊设备设计的,因而是设备相关的字体逻辑字体定义的字符集是设备无关的,它可以精确标度,因此得到广泛应用5.1 设置文本的设备环境字体句柄Windows 系统提供了七种基本字体,如下表所示:字体说明 ANSI_FIXED ANSI标准的固定宽度的字体ANSI_VAR ANSI标准的可变宽度的字体 DEFAULT_GUI 当前GUI的缺省字体 OEM_FIXED 由标准原设备制造商(OEM)提供 DEVICE_DEFAULT 当前图形设备的字体 SYSTEM_FIXED Windows的标准固定宽度的字体SYSTEM Windows提供的可变宽度的字体 Windows用SYSTEM作为系统界面字体。5.1 设置文本的设备环境字体句柄(1) 定义字体句柄变量: HFONT hF; //hF为字体的句柄选择系统字体的步骤(2) 调函数GetStockObject获得系统字体句柄, 它返回的是系统的缺省字体 hF= GetStockObject( ):(3) 调用函数SelectObject将字体选入设备环境 SelectObject(hdc,hF);创建自定义字体 若需要定义系统以外的字体,可以调用函数GreateFont自行创建HFont=CreateFont (int nHeight, //字体高度,0采用系统缺省值,使用逻辑单位 int nWidth, //字体宽度,取0则由系统根据高宽比取最佳值 int nEscapement, //每行文字相对于页底的角度,单位为0.1度 int nOrienation, //每个文字相对于页底的角度,单位为0.1度 DWORD nWeight, //字体粗细度,范围为0~1000 DWORD Dwltalic, //如果要求字体倾斜,则取非零 DWORD dwUnderline, //如果要求下划线,则取非零 DWORD dwStrikeout, //如果要求中划线,则取非零 DWORD dwCharset, //字体所属字符集 DWORD dwOutputPrecision,//输出精度,一般取缺省值OUT_DEFAULT_PRECIS DWORD dwClipPrecision, //剪裁精度,常取缺省值CLIP_DEFAULT_PRECIS DWORD dwQuality, //输出质量,一般取缺省值DEFAULT_QUALITY DWORD dwPitchAndFamily, //字体名) 设置字体颜色:SetTextColor(hdc,crColor);设置背景颜色:SetBkColor(hdc,crColor);5.1 设置文本的设备环境设置字体和背景颜色其中,crColor为设置的颜色获取字体信息文本输出过程格式化文本确定后续文本坐标调用函数输出文本确定换行时文本坐标5.2 文本的输出过程5.2 文本的输出过程获取字体信息输出文本之前要获取字体的信息,如字符高度等,以确定输出格式和下一行字符的位置。Windows程序中通过调用GetTextMetrics获取当前使用字体信息。 GetTextMetrics (hdc,tm);//tm为TEXTMETRICS结构调用该函数时,系统将当前字体的信息拷贝到tm标识的TEXTMETRICS结构中TEXTMETRICS结构定义:typedef struct tagTEXTMETRIC { //tmLONG tmHeight; //字符高度LONG tmAscent; //字符基线以上高度LONG tmDescent; //字符基线以下高度LONG tmInternalLeading; //tmHeight制订的字符高

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档