我想在项目和子项目上有不同的弹出菜单,并且在 TTreeView 的空白区域上没有弹出菜单,这可能吗?
我想要像下面的图片这样的东西
最佳答案
有两种方法可以做到这一点。
使用所需的菜单项创建 2 个单独的
<TPopupMenu
对象,不要将其中任何一个分配给 TreeView 的PopupMenu
属性,然后使用 TreeView 的OnContextMenu
事件,根据用户单击的节点调用您需要的TPopupMenu
的Popup()
方法。创建 1 个
TPopupMenu
对象并将两个菜单项放入其中,并将其分配给 TreeView 的PopupMenu
属性,然后使用TPopupMenu.OnPopup
事件,根据用户单击的节点显示/隐藏菜单项。
无论哪种情况,您都可以使用 TTreeView.GetNodeAt()
方法来确定哪个节点位于鼠标单击的坐标处(如果有)。
关于popup - C++ Builder 6 TreeView 的项目和子项目上有不同的弹出菜单,而空白区域上没有弹出菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23868271/