gpt4 book ai didi

delphi-7 - VirtualStringTree OnNodeRightClick

转载 作者:行者123 更新时间:2023-12-03 18:14:30 25 4
gpt4 key购买 nike

我正在寻找一个程序或某些东西,如果我右键单击一个节点(或通常在 VirtualStringTree 上),它就会被触发

我有以下场景:

  • 我的 VST 接近 ListView 。
  • 我只能用鼠标多选根节点(按住鼠标键并移动鼠标)
  • 如果我点击任何子节点(右侧或左侧)- 它被选中(+ [VSelected] 状态)
  • 如果我右键单击根节点,它会自动选择并打开一个弹出菜单。

现在我想为我的所有子节点(并且仅当它们被选中时)有一个不同的弹出菜单(1 common)。

希望你能明白我的意思,谢谢你的帮助。

最佳答案

我不会回答您的问题,但会为您指出正确的事件,因为您已经说过要为每个节点设置不同的弹出菜单。右键单击解决方案至少会缺少会调用弹出菜单的菜单键按下。

1.1 如何根据节点级别为每个节点使用不同的弹出菜单?

procedure TForm1.VirtualTreeGetPopupMenu(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; const P: TPoint;
var AskParent: Boolean; var PopupMenu: TPopupMenu);
begin
case VirtualTree.GetNodeLevel(Node) of
0: PopupMenu := PopupMenu1;
1: PopupMenu := PopupMenu2;
end;
end;

1.2 如何启用鼠标右键单击节点选择?

要允许鼠标右键节点选择,只需将 toRightClickSelect 选项添加到 TreeOptions.SelectionOptions 选项集即可。

关于delphi-7 - VirtualStringTree OnNodeRightClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11946414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com