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