默认情况下,点Treeview1前端+号,会展开下一层目录,但我现在想用权限控制,如果权限不够的情况下,点Treeview1某个节点前端+号,不允许展开当前节点.

解决方案 »

  1.   

    在OnExpanding事件中设置AllowExpansion
      

  2.   

    在OnExpanding事件中设置AllowExpansion
      

  3.   

    OnExpanding是在树展开前调用的,应该可以。
      

  4.   

    在你treeview初始化的时候根据权限设置AllowExpansion
      

  5.   

    var P:TPoint;
    begin
      GetCursorPos(P);
      P := treeview.ScreenToClient(P);
      if (htOnButton in treeview.GetHitTestInfoAt(P.X,P.Y)) then
      //if 条件满足则exit或者继续(禁止或允许展开)
    end;
      

  6.   

    procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    begin
      AllowExpansion := False;
    end;