【发布时间】:2010-12-18 01:13:59
【问题描述】:
我正在调用 Win32 DrawText 函数将一些文本输出到设备上下文中。文本很长,很好地换行到第二行。问题是我需要稍微减少线之间的空间(我想减少线高?)。关于如何做到这一点的任何想法?
我只会给DrawText 打两次电话(每行一次),但我必须自己进行自动换行。
还有其他方法吗?
谢谢
【问题讨论】:
我正在调用 Win32 DrawText 函数将一些文本输出到设备上下文中。文本很长,很好地换行到第二行。问题是我需要稍微减少线之间的空间(我想减少线高?)。关于如何做到这一点的任何想法?
我只会给DrawText 打两次电话(每行一次),但我必须自己进行自动换行。
还有其他方法吗?
谢谢
【问题讨论】:
自从我在 Win32 上处理这个问题已经有一段时间了,但我相信字体本身通过定义字符下方的空白空间来定义“预期”间距。 Drawtext 在换行时使用这个完整的“高度来定位下一行。如果你想做一些不符合这个大小的事情,我相信你将不得不进行自己的换行计算和多次 DrawText() 调用。
【讨论】:
DrawText 使用的间距的东西。
一种可能性是将文本放入禁用的 Rich Edit 控件中。我认为这可以让您对格式有很大的控制权。
如果您确实编写了自己的自动换行,您可能希望使用GetTextExtentExPoint() 来衡量每行可以容纳多少。
【讨论】: