我正在尝试创建菜单并使用GDI绘制它。
我有一个菜单标题,不可更改。 我有一系列的项目。
如果我希望标题为“主菜单”,我该如何计算文本的宽度和高度?如果我在TextOut()之前将SetBkColor()设置为与HDC背景不同的颜色,我会看到它呈现为矩形 - 但是如何在屏幕上写出文本之前获取此矩形的大小?
另外,我事先设置了CreateFont()和SelectObject(HDC,Font),因此我可以为菜单编写“更大”的文本。
有建议的人吗?
没有找到适用于本机GDI的工作解决方案,而没有在.NET中使用较新的Graphics对象。
答案 0 :(得分:4)
最简单的方法可能是DrawText()
DT_CALCRECT
。
您还可以使用GetTextExtentPoint32()
自行衡量文字。