2009-11-18 72 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