c++ - 确定 TMenuItem 中文本的高度,以决定通过 TMenuItem.OnMeasureItem 更改 MenuItem 的高度

标签 c++ delphi c++builder delphi-2009 c++builder-2010

我使用 Borland C++ Builder 2009,当使用大字体时,MainMenu 和 Popup 中的菜单项彼此靠得太近,文本在顶部和底部甚至被切断,当太大时。

我知道我可以使用 TMenuItem.OnMeasureItem 更改项目的高度,但是我应该将它设置到什么高度?

计算理想高度的最佳方法是什么?如何获取它的变量(例如文本高度)?

最佳答案

OnMeasureItem 处理程序建议您在 Height var 参数中使用默认值。

您可以将该值乘以当前屏幕 PPI 与字体大小 100% (96) 的默认 PPI 的比率,例如Height := Ceil(Height * Screen.PixelsPerInch/96);

关于c++ - 确定 TMenuItem 中文本的高度,以决定通过 TMenuItem.OnMeasureItem 更改 MenuItem 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34324974/

相关文章:

c++builder - 在 c++ builder 2010 中打印调试消息

c++ - 如何获取 libmathplot.a

c++ - 如何在不将其添加到项目的情况下通过 xcode 运行 .cpp 文件?

c++ - 将代码从 C++ 转换为 Delphi

Delphi - 形成最大化事件

delphi - 带有平面按钮且没有计算器的数值编辑控件

c++ 可执行文件不能在 windows 7 中运行 - 64 位不兼容

delphi - 基类的类过程应该实例化一个后代的对象?

delphi - 我的跨平台 FireMonkey 应用程序应在哪里存储其设置?

delphi - 将 GLScene 安装到 RAD Studio 2010 中时如何解决致命编译器错误?