2012-08-08 47 views
2

我試圖創建一個菜單並用GDI繪製它。計算用GDI呈現的文本(文本矩形)的大小

我有一個菜單標題,不可更改。 我有一個項目的數組。

如果我希望標題是「主菜單」,我該如何計算文本的寬度和高度?如果我在TextOut()之前將SetBkColor()設置爲與HDC背景不同的顏色,我會看到它呈現爲矩形 - 但是如何獲取此矩形的大小並在屏幕上寫出文本之前?另外,我預先設置了CreateFont()和SelectObject(HDC,Font),這樣我就可以爲Menu編寫「更大」的文本。

有建議的人嗎?

尚未找到適用於本機GDI的工作解決方案,也未在.NET中使用較新的Graphics對象。

回答

4

最簡單的方法可能是DrawText()DT_CALCRECT

您還可以使用GetTextExtentPoint32()自行測量文本。