我的窗体中又一个 TTreeView.
结构如下:南京
——苏州
——无锡
江西
——南昌
——九江我希望我的鼠标在“南京”“江西”上面点右键的时候才出来。popupmenu。如何实现呢?

解决方案 »

  1.   

    有个level属性
    if t.level=n then...
      

  2.   

    procedure TForm1.TreeView1Click(Sender: TObject);
    begin
     if TreeView1.Selected.Level=2 then showmessage(inttostr(TreeView1.Selected.Level));
    end;
      

  3.   

    procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var Node: TTreeNode;
    begin
      Node := TreeView1.GetNodeAt(X,Y);
      if Node <> nil then
      begin
        Node.Selected := True;
        if Node.Level = 0 then
          TreeView1.PopupMenu := PopupMenu1
        else
          TreeView1.PopupMenu := nil;
      end
      else
        TreeView1.PopupMenu := nil;
    end;