2012-08-08 84 views
2

我试图创建一个菜单并用GDI绘制它。计算用GDI呈现的文本(文本矩形)的大小

我有一个菜单标题,不可更改。 我有一个项目的数组。

如果我希望标题是“主菜单”,我该如何计算文本的宽度和高度?如果我在TextOut()之前将SetBkColor()设置为与HDC背景不同的颜色,我会看到它呈现为矩形 - 但是如何获取此矩形的大小并在屏幕上写出文本之前?另外,我预先设置了CreateFont()和SelectObject(HDC,Font),这样我就可以为Menu编写“更大”的文本。

有建议的人吗?

尚未找到适用于本机GDI的工作解决方案,也未在.NET中使用较新的Graphics对象。

回答

4

最简单的方法可能是DrawText()DT_CALCRECT

您还可以使用GetTextExtentPoint32()自行测量文本。