问题描述
是否有任何方法可以将TPopupMenu直接嵌入到窗体上,就像面板始终处于打开状态一样?或只是TMenuItems。
解决方法
否,无法在菜单上嵌入菜单。部分原因是菜单不是您可以轻松操作的普通窗口。
因此,您需要找到其他解决方案。您可以从许多选项中进行选择:
-
使用
TToolBar
:它看起来并不特别现代,但是开箱即用时,您对外观没有太多控制。另外,我不知道这种解决方案到底有多健壮。许多年前,我不再使用工具栏。
-
使用
TCheckListBox
:在这种情况下,建议您创建一个子类
TCheckListBoxEx
,如果您双击该项目的标题,它将切换该项目。 -
创建自定义控件:
如果要在重要应用程序中使用中央GUI,这就是我要执行的操作,因为这样您就可以完全控制外观和行为,并使它真正可靠。我已经在工作中完成了现代的此类菜单,但是目前我在家里,所以无法向您展示。但是,这里是我十多年前为一个爱好项目制作的菜单:
-
如果您不需要像控件一样将菜单附加到窗体上,而只需要在选择其中的一项时就不关闭菜单,则可以通过多种方法来实现。但这是另一个问题。