《VC编程中字体的应用》.ppt_第1页
《VC编程中字体的应用》.ppt_第2页
《VC编程中字体的应用》.ppt_第3页
《VC编程中字体的应用》.ppt_第4页
《VC编程中字体的应用》.ppt_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

德州学院 计算机系,1,Visual C+ 与面向对象程序设计,第3章 VC+编程中字体的应用 德州学院 计算机系 主讲教师 韩金姝,德州学院 计算机系,2,本章主要内容,字体的创建及其属性的设置 文本的输出过程 文本操作实例,德州学院 计算机系,3,字体的创建及其属性的设置,文本:当作图形对待;使用与设备无关的字体集; 字体:描述了所要显示的文本的大小、类型和外形。逻辑字体定义的字符集是与设备无关的。,德州学院 计算机系,4,字体的创建及其属性的设置,字体创建及设置过程: 1.字体句柄: 在进行字体输出前,必须定义输出的字体,要输出字体,必须获得字体的句柄并将其选入设备环境中。 (1)定义字体句柄:HFONT hF (2)获得系统字体句hF=GetStockObject(SYSTEM_FONT)(表3-1) (3)将字体选入设备环境: (HFONT)SelectObject(hdc,hF),德州学院 计算机系,5,字体的创建及其属性的设置,字体创建及设置过程: 2.创建自定义字体: 调用函数CreateFont创建自定义字体。具体参看MSDN 3.字体的颜色设置: 字体颜色:SetTextColor(hdc,crColor) 字体背景颜色:SetBkColor(hdc, crColor),HOME,德州学院 计算机系,6,文本的输出过程,目的 程序员要确定输出内容,管理输出格式。因此,文本的输出过程包括获取字体信息、格式化文本、调用函数输出文本等具体过程,德州学院 计算机系,7,文本的输出过程,1.获取字体信息:GetTextMetrics(hdc,&tm ),系统将当前字体信息复制到tm标识的TEXTMETRIC结构中。 2.格式化文本: (1)确定后续文本坐标: 通过GetTwxtExtentPoin32函数获取当前字符串高度,然后通过计算字符串的起始坐标与字符串宽度之和,从而得到后续文本的起始坐标。 (2)确定换行时文本坐标: 通过计算当前行文字字符的高度与行间隔之和,从而得到换行时文本的起始坐标,德州学院 计算机系,8,文本的输出过程,3.文本输出: 调用TextOut,在坐标指定位置输出字符串的n个字符 BOOL TextOut ( HDC hdc, / handle to device context int nXStart, / x-coordinate of starting position int nYStart, / y-coordinate of starting position LPCTSTR lpString, / pointer to string int cbString / number of characters in string );,HOME,德州学院 计算机系,9,文本操作实例,例31(P39): 在窗口中有五行文字,字体分别为楷体、宋体、隶书、黑体和幼圆,字号由20到100线性增长,每一行的文字相继出现后又消失,而且每一行文字的颜色由RGB(0,0,0)到RGB(250,250,250)线性增长。,程序演示1,德州学院 计算机系,10,文本操作实例,例32(P42): 输出艺术形式排列的文字,文字内容为“VC+编程中字体的应用”。第一行文字由大到小线性变化,第二行是中间大,两端小,第三行是以sin曲线的形式显示文字。,程序演示2,德州学院 计算机系,11,文本操作实例,习题3.3(P48): 在窗口中显示出26个英文字母,从左到右字母依次位置提高10个像素单位,并且颜色变为红色,然后回到正常位置;当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论