Text-Formatting属性
应用程序可以使用六个函数来设置设备上下文的文本格式属性: SetBkColor、 SetBkMode、 SetTextAlign、 SetTextCharacterExtra、 SetTextColor 和 SetTextJustification。 这些函数会影响文本对齐方式、字符间距、文本对齐以及文本和背景色。 此外,其他六个函数可用于检索任何设备上下文的当前文本格式设置属性: GetBkColor、 GetBkMode、 GetTextAlign、 GetTextCharacterExtra、 GetTextColor 和 GetTextExtentPoint32。
文本对齐
应用程序可以使用 SetTextAlign 函数指定在调用其中一个绘图函数时,系统应如何定位文本字符串中的字符。 此函数可用于定位标题、页码、标注等。 系统通过将引用点与当前光标位置或作为参数传递给其中一个文本绘制函数之一的点对齐来定位文本字符串。 SetTextAlign 函数允许应用程序指定此引用点的位置。 下面是可能的参考点位置的列表。
位置 | 说明 |
---|---|
left/bottom | 参考点位于矩形的左下角。 |
左/底线 | 参考点位于字符单元格基线和矩形左边缘的交集处。 |
left/top | 参考点位于矩形的左上角。 |
中心/底部 | 参考点位于矩形底部的中心。 |
中心线/底线 | 参考点位于字符单元格底线和矩形中心交汇处。 |
中心/顶部 | 参考点位于矩形顶部的中心。 |
right/bottom | 参考点位于矩形的右下角。 |
右/底线 | 参考点位于字符单元格基线和矩形右边缘的交集处。 |
right/top | 参考点位于矩形的右上角。 |
下图显示了通过调用 TextOut 函数绘制的文本字符串。 在绘制文本之前,调用 了 SetTextAlign 函数,以将参考点重新定位到九个可能位置中的每一个位置。
设备上下文的默认文本对齐方式是环绕文本的虚矩形的左上角。 应用程序可以通过调用 GetTextAlign 函数检索任何设备上下文的当前文本对齐设置。
字符间间距
应用程序可以使用 SetTextCharacterExtra 函数更改指定设备上下文中所有文本输出操作的字符间间距。 下图显示了通过调用 TextOut 函数绘制两次的文本字符串。 第二次绘制文本之前,调用 SetTextCharacterExtra 函数以递增字符间间距。
任何设备上下文的默认字符间间距值为零。 应用程序可以通过调用 GetTextCharacterExtra 函数检索设备上下文的当前字符间间距值。
文本对齐
应用程序可以使用 GetTextExtentPoint32 和 SetTextJustification 函数来对齐文本行。 文本对齐是任何桌面发布和大多数字处理应用程序中的常见操作。 GetTextExtentPoint32 函数计算文本字符串的宽度和高度。 计算宽度后,应用程序可以调用 SetTextJustification 函数,以在文本行中的每个单词之间分配额外的间距。 下图显示了打印两次文本的段落:在第一段中,文本没有对齐:在第二段中,通过调用 GetTextExtentPoint32 和 SetTextJustification 函数对齐文本。
文本和背景色
应用程序可以使用 SetTextColor 函数设置在其窗口的工作区中绘制的文本的颜色,以及在彩色打印机上绘制的文本的颜色。 应用程序可以使用 SetBkColor 函数设置每个字符后显示的颜色,并使用 SetBkMode 函数指定系统应如何将所选背景色与视频显示器上的当前颜色混合。
显示设备上下文的默认文本颜色为黑色;默认背景色为白色;默认后台模式为 OPAQUE。 应用程序可以通过调用 GetTextColor 函数检索设备上下文的当前文本颜色。 应用程序可以通过调用 GetBkColor 函数检索设备上下文的当前背景色,并通过调用 GetBkMode 函数检索当前背景模式。