调整TMainMenu的大小

时间:2014-07-30 08:12:14

标签: delphi menubar ownerdrawn

我对编程比较陌生,我的问题是我的表单上有一个TMainMenu。 我研究了很多(很多)网站的解决方案,但没有发现任何解决这个问题的网站。
即使我使用 Screen.MenuFont.Size 更改fontsize,主菜单也不会调整大小。
我尝试在 Height 属性> OnMeasureItem 处理程序,我尝试在设计和运行时调整图像和子菜单项的大小,我甚至尝试捕获Windows的消息 WMDrawItem 并在传递它之前更改它的参数...

组件中的菜单项会相应调整大小,但菜单栏本身的垂直高度不会。 (下图中的线条切割图标)

有没有一个简单的解决方案,比如在某处设置一些隐藏的高度属性? 或者我是否必须重写一半的delphi代码来实现我的目标? 感谢代码示例的帮助。 : - )

这是一张图片: enter image description here

我在Win7机器上使用Delphi 7。

2 个答案:

答案 0 :(得分:2)

菜单栏的高度是Windows指标设置。因此它在系统范围内是有效的 - 不仅适用于您的应用。如果有的话,它只能通过Windows本身的显示设置进行更改。

答案 1 :(得分:0)

我建议改用TActionMainMenuBar。它比TMainMenu更灵活。 您也可以非常轻松地更改菜单栏的字体。