文件名称:文字和字体-em78p153 c语言范例
文件大小:5.55MB
文件格式:PDF
更新时间:2024-06-22 11:40:59
Windows
第十七章 文字和字体 显示文字是本书所要解决的首要问题,现在我们来研究Microsoft Windows中各种有效字体和 字体大小的使用方法以及调整文字的方式。 Windows 3.1发表的TrueType使程序写作者和使用者以灵活的方式处理文字的能力大幅增强。 TrueType是轮廓字体技术,由Apple Computer公司和Microsoft公司开发,并被许多字*造商 支持。由于TrueType字体能够连续缩放,并能应用于视讯显示器和打印机,现在能够在Windows 下实作真的WYSIWYG(what you see is what you get:所见即所得)。TrueType也便于制作「奇 妙」字体,例如旋转的字母、内部填充图案的字母或将它们用于剪裁区域,在本章我将展示它们。 简单的文字输出 让我们先来看看Windows为文字输出、影响文字的设备内容属性以及备用字体提供的各种函 数。 文字输出函数 我已经在许多范例程序中使用过最常用的文字输出函数: TextOut (hdc, xStart, yStart, pString, iCount) ; 参数xStart和yStart是逻辑坐标上字符串的起始点。通常,这是Windows开始绘制的第一个字 母的左上角。TextOut需要指向字符串的指针和字符串的长度,这个函数不能识别以NULL终止的字 符串。 TextOut函数的xStart和yStart参数的含义可由SetTextAlign函数改变。TA_LEFT、TA_RIGHT和 TA_CENTER旗标影响使用xStart在水平方向上定位字符串的方式。默认值是TA_LEFT。如果在 SetTextAlign函数中指定了TA_RIGHT,则后面的TextOut呼叫会将字符串的最后一个字符定位于 xStart,如果指定了TA_CENTER,则字符串的中心位于xStart。 类似地,TA_TOP、TA_BOTTOM和TA_BASELINE旗标影响字符串的垂直位置。TA_TOP是默认 值,它意味着字符串的字母顶端位于yStart,使用TA_BOTTOM意味着字符串位于yStart之上。可以 使用TA_BASELINE定位字符串,使基准线位于yStart。基准线是如小写字母p、q、y等字母下部的 线。 如果您使用TA_UPDATECP旗标呼叫SetTextAlign,Windows就会忽略TextOut的xStart和 yStart参数,而使用由MoveToEx、LineTo或更改目前位置的另一个函数设定的位置。TA_UPDATECP 旗标也使TextOut函数将目前位置更新为字符串的结尾(TA_LEFT)或字符串的开头(TA_RIGHT)。 这在使用多个TextOut呼叫显示一行文字时非常有用。当水平位置是TA_CENTER时,在TextOut呼 叫后,目前位置不变。 您应该还记得,第四章的一系列SYSMETS程序显示几列文字时,对每一列都需要呼叫一个 TextOut,其替代函数是TabbedTextOut函数: TabbedTextOut ( hdc, xStart, yStart, pString, iCount, iNumTabs, piTabStops, xTabOrigin) ;