在treeview控件中 如何利用右键对节点进行选择   只有在用左键点击节点时,能够判断选择的节点     在用右键点击节点时,有焦点的节点并没有变化  如何解决使用左键和右键都能选择节点

解决方案 »

  1.   

    procedure ChangeSelectNode(tree:TTreeView;x,y:integer;Button: TMouseButton);
    var
        anode:TTreeNode;
    begin
        if button=mbright then  {是否按了右键}
        begin
            anode:=tree.GetNodeAt(x,y);  {取x,y坐标下的结点}
            if anode<>nil then
                anode.Selected :=true;   {设置点中结点为选中}
        end;
    end;在ONmousedown中调用
      

  2.   

    procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
     if Button=mbRight then
      if Treeview1.GetNodeAt(X,Y)<>nil then
       Treeview1.GetNodeAt(X,Y).Selected:=true;
    end;