那就在MOUSEDOWN中用GETNODEAT(X,Y);保证灵验

解决方案 »

  1.   

    procedure TForm5.RzTreeView1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
      AnItem: TTreeNode;
    begin
      if Button=mbRight then  //用户按下右键得到当前结点值并启用快捷菜单
      begin
        AnItem:=RzTreeView1.GetNodeAt(X, Y);
        if AnItem<>nil then
        begin
          RzTreeView1.Selected:=AnItem;
    ......
      

  2.   

    设置RightClickSelect := True是可以的。但是要注意和左健选择的区别;
    1、右健选择不会高亮显示被选节点;
    2、右健选择只改变属性Selected的值。
    —————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Desire := '加不加分随你';
    —————————————————————————————————