SetTextJustification函数指定Windows应添加到文本字符串中的中断字符的空间量。当应用程序调用{??989796011}或ExtTextOut函数时,将添加空格。
BOOL SetTextJustification(
HDC 【HDC】, | //设备上下文的句柄 |
INT 【nBreakExtra】, | //额外空间的长度,以逻辑为单位 |
INT 【nBreakCount】 | //文本行中的空格字符数 |
); |
参数
【HDC】
标识设备上下文。
【nBreakExtra】
指定要添加到文本行的逻辑单位的总额外空间。如果当前映射模式不是MM_TEXT,则【nBreakExtra】参数标识的值将被转换并舍入为最近的像素。
【nBreakCount】
指定行中的中断字符数。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.
备注
中断字符通常是空格字符(ASCII 32),但它可以由字体定义为某个其他字符。GetTextMetrics功能可用于检索字体的中断字符。
TextOut功能将指定的额外空间在行中的中断字符之间均匀分配。
SetTextJustification功能始终与SetTextJustification功能一起使用。GetTextExtentPoint32函数在调整前计算给定行的宽度。在可以计算适当的【nBreakExtra】值之前必须知道此宽度。
SetTextJustification可用于证明包含不同字体的多个字符串的行。在这种情况下,每个字符串必须单独对齐。
因为在调整期间可能会发生舍入误差,所以Windows会保留运行中的错误项,以定义当前的错误值。当对包含多个运行的行进行调整时,GetTextExtentPoint在计算下一次运行的范围时自动使用该错误项,允许TextOut将错误混合到新的运行中。在每一行都被证明之后,必须清除此错误项,以防止将其纳入下一行。可以通过【nBreakExtra】设置为零来调用SetTextJustification来清除该术语。
也可以看看