在treeview中有不同的主键,我想在右击不同的主键时启动不同的菜单,就象WINDOWS的资源管理器一样,如何实现?

解决方案 »

  1.   

    procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      if mbRight =  Button then with TreeView1 do
      begin
        if () then PopupMenu := PopupMenu1
        //else  ……
        Selected := GetNodeAt(X, Y);
      end;
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  2.   

    那你就在treeview控件的MouseDown事件下写吧,该事件可以选择右键和左键,然后显示自己的功能就可以了。
      

  3.   

    不知道楼主试过: lxpbuaa兄的方法没有,这种方法有时很管用哦
      

  4.   

    菜单最好是一个, 我用程序都喜欢用Action
    每个菜单项对应一个Actionprocedure TForm1.Action1Update(Sender: TObject);
    begin
      TAction(Sender).Visible := yourcondition;
    end;
      

  5.   

    同意 lxpbuaa(桂枝香在故国晚秋) 
    UP