我正在调用Win32 DrawText
函数将一些文本输出到设备上下文中。文本很长,很好地包装在第二行。问题是我需要减少线之间的空间(我猜减少线高?)。关于如何做到这一点的任何想法?
我只会打电话给DrawText
两次(每行一次)但是我必须自己做自适应。
还有其他办法吗?
由于
答案 0 :(得分:5)
自从我在Win32上处理这个问题已经有一段时间了,但我相信字体本身通过在字符下面定义空白来定义“预期”间距。 Drawtext使用这个完整的“高度来定位包装时的下一行。如果你想做一些与这个大小不一致的东西,我相信你将不得不做你自己的包装计算和多个DrawText()调用。
答案 1 :(得分:3)
一种可能性是将文本放入禁用的Rich Edit Control中。我认为这可以让你对格式化有很多控制。
如果您自己编写自己的自动换行,可能需要使用GetTextExtentExPoint()来衡量每行的适合度。