popup - C++ Builder 6 TreeView 的项目和子项目上有不同的弹出菜单,而空白区域上没有弹出菜单

标签 popup treeview c++builder c++builder-6

我想在项目和子项目上有不同的弹出菜单,并且在 TTreeView 的空白区域上没有弹出菜单,这可能吗?

我想要像下面的图片这样的东西

enter image description here

enter image description here

enter image description here

最佳答案

有两种方法可以做到这一点。

  1. 使用所需的菜单项创建 2 个单独的 TPopupMenu 对象,不要将其中任何一个分配给 TreeView 的 PopupMenu 属性,然后使用 TreeView 的 OnContextMenu 事件,根据用户单击的节点调用您需要的 TPopupMenuPopup() 方法。

    <
  2. 创建 1 个 TPopupMenu 对象并将两个菜单项放入其中,并将其分配给 TreeView 的 PopupMenu 属性,然后使用 TPopupMenu.OnPopup 事件,根据用户单击的节点显示/隐藏菜单项。

无论哪种情况,您都可以使用 TTreeView.GetNodeAt() 方法来确定哪个节点位于鼠标单击的坐标处(如果有)。

关于popup - C++ Builder 6 TreeView 的项目和子项目上有不同的弹出菜单,而空白区域上没有弹出菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23868271/

相关文章:

wpf - 弹出控件 VerticalAlignment 不是 "catch"

c++builder - TCheckListBox 获取选中项的计数

c++ - 为什么我不能将 LDBL_EPSILON 添加到 1

javascript - VueJS : Flush/reload the whole tree-view

c++ - 在 TreeView C++ BUILDER 中突出显示项目

c++builder - 链接失败 [ilink32 错误] 致命 : Unable to open file 'TYPES.OBJ'

html - 在模式框中打开网页?

javascript - 使用 window.open 将数据从父级传递到子级时,为什么会得到 'Cannot read property ' 个未定义的元素?

jquery - 如何使用 jQuery 垂直居中模式,独立于滚动高度?

python - 在Python中将自己的树列表与GTK TreeView/TreeModel同步