2

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

我有一个 MENU TITLE,不可更改。我有一系列项目。

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

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

有人有建议吗?

尚未找到使用本机 GDI 且未在 .NET 中使用较新的 Graphics 对象的可行解决方案。

4

1 回答 1

4

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

您也可以使用 自己测量文本GetTextExtentPoint32()

于 2012-08-08T20:30:52.813 回答