计算使用GDI呈现的文本(文本矩形)的大小

时间:2012-08-08 20:02:11

标签: winapi text menu gdi font-size

我正在尝试创建菜单并使用GDI绘制它。

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

如果我希望标题为“主菜单”,我该如何计算文本的宽度和高度?如果我在TextOut()之前将SetBkColor()设置为与HDC背景不同的颜色,我会看到它呈现为矩形 - 但是如何在屏幕上写出文本之前获取此矩形的大小?

另外,我事先设置了CreateFont()和SelectObject(HDC,Font),因此我可以为菜单编写“更大”的文本。

有建议的人吗?

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

1 个答案:

答案 0 :(得分:4)

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

您还可以使用GetTextExtentPoint32()自行衡量文字。