有什么办法可以直接在窗体上嵌入一个 TPopupMenu ,就好像它是一个总是打开的面板一样?或者可能只是 TMenuItems。
不,不能在表单上嵌入菜单。部分原因是菜单不是您可以轻松操作的普通窗口。
所以你需要找到一个不同的解决方案。您可以选择许多选项:
使用TToolBar:
不过,它看起来并不特别现代,而且开箱即用,您无法控制外观。另外,我不知道这个解决方案到底有多健壮。多年前我停止使用工具栏。
使用TCheckListBox:
在这种情况下,我建议您创建一个子类TCheckListBoxEx,如果您双击它的标题,它会切换一个项目。
创建自定义控件:
如果它是关于重要应用程序中的中央 GUI,我会这样做,因为这样您就可以完全控制外观和行为,并且可以使其真正健壮。我在工作中做了一个现代的这样的菜单,但目前我在家里,所以我不能给你看。然而,这是我十多年前为一个爱好项目制作的菜单:
如果您不需要像控件一样将菜单附加到表单,而只需要在您选择其中的项目时不关闭菜单,则有(hacky)方法可以实现这一点。但那是一个不同的 Q。