如何将组件放置在 TMainMenu 之上?
How to place a component above a TMainMenu?
例如,当我向表单添加 TPanel
并使用 alTop
对齐,然后向同一表单添加 TMainMenu
时,主菜单位置会覆盖面板位置,以便主菜单保持在窗体的最上面,面板显示在其下方。
是否可以覆盖 TMainMenu
位置,以便我可以在其上方添加一个组件,如面板,在其下方添加主菜单?
由于 BiDi 兼容性问题,TActionManager
and/or TToolBar
等替代方案不适合。
不,主菜单是一个 Windows 组件,它的位置是固定的。这不是 Delphi 限制,而是 Windows.
中菜单如何使用 windows 的限制
来自 MSDN(强调我的):
Only an overlapped or pop-up window can contain a menu bar; a child window cannot contain one. If the window has a title bar, the system positions the menu bar just below it. A menu bar is always visible.
如果您希望组件具有类似菜单的行为,您可以将其自由放置在表单的任何位置,则需要自己编写一个或寻找第三方替代品。
例如,当我向表单添加 TPanel
并使用 alTop
对齐,然后向同一表单添加 TMainMenu
时,主菜单位置会覆盖面板位置,以便主菜单保持在窗体的最上面,面板显示在其下方。
是否可以覆盖 TMainMenu
位置,以便我可以在其上方添加一个组件,如面板,在其下方添加主菜单?
由于 BiDi 兼容性问题,TActionManager
and/or TToolBar
等替代方案不适合。
不,主菜单是一个 Windows 组件,它的位置是固定的。这不是 Delphi 限制,而是 Windows.
中菜单如何使用 windows 的限制来自 MSDN(强调我的):
Only an overlapped or pop-up window can contain a menu bar; a child window cannot contain one. If the window has a title bar, the system positions the menu bar just below it. A menu bar is always visible.
如果您希望组件具有类似菜单的行为,您可以将其自由放置在表单的任何位置,则需要自己编写一个或寻找第三方替代品。