文档介绍:课题: 文本与字体
目的要求:
windows文本输出的原理
掌握文本的输出方法
掌握定时器的使用
教学重点:
文本的输出方法
教学难点:
文本的输出方法
教学课时: 2
教学方法:讲练结合
教学内容与步骤:
文本的图形输出:
以图形方式进行文本的输出是Windows操作系统一个特性,文本输出实际上是按照指定的字体样式将文本中的每个字符绘制出来。
Windows图形设备接口GDI提供了很多有关文本输出的函数,MFC的CDC类对这些GDI文本输出函数进行了封装。
编程时最常用的文本输出函数是TextOut()函数,该函数只能输出单行文本。要绘制多行文本可以调用DrawText()函数,另一个函数ExtTextOut()可以用一个矩形框对输出文本串进行裁剪。
Windows为文本的显示提供了多种物理字体支持,而在程序中我们可以创建不同风格的逻辑字体来输出文本。使用定义好的与设备无关的字体集, Windows就能维护它的设备无关性,提供“所见即所得”的好处,即屏幕所见与设备输出的文本是一样的
文本输出颜色设置:
在缺省情况下绘制文本时,字体颜色是黑色,背景颜色是白色,背景模式为不透明模式。可以通过调用CDC类成员函数重新设置字体颜色、背景颜色和文本对齐方式等文本属性。
SetTextColor() GetTextColor() 设置显示文本的颜色
SetBkColor() GetBkColor() 设置显示文本的背景颜色
SetBkMode() GetBkMode() 设置文本的背景模式
SetTextAlign() GetTextAlign() 设置显示文本的对齐方式
文本与字体:
文本与字体密切相关,输出文本的大小和外观是由字体描述的。字体是指采用某种字样的一套字符和符号,每一种字体都有字符集。
决定字体的三个要素是字样、风格和大小。字样是字母的样式和文本的视觉外观,字体的风格是字体的粗细和倾斜度。
Windows支持光栅字体、矢量字体和TrueType三种字体。光栅字体即点阵字体,这种字体需要为每一种大小的字体创建独立的字体文件。矢量字体以一系列线段存储字符。TrueType字体是与设备无关的字体,字符以轮廓的形式存储,包括线段和曲线。
TrueType字体正成为真正的主流,这种字体能够以一种非常出色的字体技术绘制文本。TrueType字体能够缩放为任何大小的字体,而不会降低图形的质量。Windows中提供的TrueType字体主要有Arial、Courier、Symbol、Time New Roman等,可以通过Windows“控制面板|字体”浏览系统已安装的字体。
字体类对象CFont:与画笔和画刷一样,字体也是一种GDI对象,MFC类CFont对GDI字体对象进行了封装,我们一般利用CFont类创建自己的字体(GDI对象),然后把创建的字体选入设备环境,以用于在设备环境中绘制文本。
设置输出文本字体步骤:
定义字体类对象,创建逻辑字体,设置字体和背景颜色,格式化文本(输出位置)
(1) 定义字体类对象变量: CFont font;
(2) 获得系统字体(CreateStockObject()) 或创建新字体( CreateFont(…))