把TreeView 控件的RightClickSelect属性设置为True,当右键弹起后选中的节点,又回到右键按下前的结点?这个问题怎么解决?我不想让它回去

解决方案 »

  1.   

    解决:
    procedure TForm1.TreeView1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      TempNode: TTreeNode;
    begin
      if Button = mbRight then
      begin
        TempNode := treeView1.GetNodeAt(X,y);
        if TempNode <> nil then
        begin
          tempNode.Selected := true;
    //      tempNode.Focused := true;
        end;
      end;
      

  2.   

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

  3.   

    呵呵,一楼的
    if Button= mbRight then    用这条判断语句也是正确的