2009-11-18 83 views
4

我打电话给Win32 DrawText函数将一些文本输出到设备上下文中。文本很长,很好地包装到第二行。问题是我需要减少线之间的空间(我想减少线高度?)。任何想法如何做到这一点?Win32 DrawText line height

我只需拨打电话DrawText两次(每行一个),但我必须自己做文字换行。

有没有其他办法?

感谢

回答

3

一种可能性是将文本放入禁用的Rich Edit Control中,我认为这可以让您对格式化有很多控制

如果您自己编写自动换行,您可能需要使用GetTextExtentExPoint()来测量多少将适合每一行

5

它已经相当一段时间,因为我处理了这个在Win32,但我相信字体本身定义了字符下定义空的空间“预期”的间距。 Drawtext在包装时使用这个完整的“高度”来定位下一条线,如果你想做一些与这个尺寸不一致的东西,我相信你将不得不做出自己的包装计算和多个DrawText()调用。

+1

正确的GDI空格行自动根据字体指标我从来没有看到任何可以让你修改'DrawText'使用的空格,修改字体的副本。 – 2009-11-19 20:57:14