Delphi:主菜单和工具栏。CoolBar的替代方案。

5
我将一个工具栏用作主菜单!
我将主菜单嵌入到工具栏中,但是主菜单的文本(按钮标题)不在工具按钮的中心。
我有: enter image description here 我需要: enter image description here 我创建了一个工具栏、4个工具按钮,并为每个按钮分配了一个菜单。或者我在工具栏的“菜单”中分配了一个主菜单。当我创建一个工具按钮时,它的标题已经在底部。没有人有相同的问题吗?
在这些操作之后,我将把工具栏作为主菜单嵌入到CoolBar中。最终,我将拥有与Windows防火墙相同的效果。
是否有其他方法可以实现与Windows防火墙相同的效果(包括主菜单+分隔线+工具栏的工具按钮)?我使用Delphi 2010。
如何做到这一点? 如何正确使用工具栏中的主菜单? 谢谢!
附:另一个例子,它不是来自Windows: enter image description here 如何复制上面的例子...

你需要告诉我们你做了什么。TMainMenu 的窗口菜单甚至不能放置在 TToolBar 内部,所以你显然正在做其他事情... 你是否正在使用 TToolBar 和常规的 TToolButton 按钮作为“菜单”? - Andreas Rejbrand
@Andreas,只需将TToolButton的“MenuItem”设置为TMainMenu的父项之一即可。 - Sertac Akyuz
@Sertac:当然,你可以将下拉菜单分配给工具按钮,但这样你就会得到两个菜单栏,因为你确实会从TMainMenu中得到一个,这是OP所说的... - Andreas Rejbrand
@Sertac:不过,如果您设置窗体的“菜单”属性,您将获得与“我需要”的屏幕截图非常相似的结果。 - Andreas Rejbrand
@Andreas - 确实!也许他想把菜单栏放在窗口的其他位置,谁知道呢? - Sertac Akyuz
显示剩余18条评论
1个回答

2

以下是可能有所帮助的内容:

  1. 在窗体上放置一个空的TImageList

  2. 将其分配给ToolBar

  3. ToolBar.List设置为True

  4. 根据您的喜好调整ImageList.Height

这将导致按钮调整其高度到ImageList.Height值,并使它们的标题垂直居中。


但这是标题后面的一个空格...总比没有好 :) - maxfax
我的情况下没有空间。(我将 ToolBar.Menu 设置为 TMainMenu 实例。)在你的情况下,你可以尝试调整 ImageList.Width - Andriy M
我按照你的步骤操作了 + ImageList.Width=1,但没有起到作用。不过这也不是什么大问题 :) 我使用的是Delphi 2010。 - maxfax

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接