直接设定PopupMenu属性为你建立的Popup菜单

解决方案 »

  1.   

    在onkeyup事件记下鼠标位置,然后在onmouseup事件中根据需要手工弹出菜单就行了.
      

  2.   

    设置TreeView1的RightClickSelect为False;procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var Node: TTreeNode;
    begin
      if Button =mbRight then
      begin
        Node := TreeView1.GetNodeAt(x,y);
        Node.Selected := True;
      end;
    end;
      

  3.   


    To: technofantasy(www.applevb.com) 
       直接设定PopupMenu菜单不能单击右键时选中要选择的当前树枝。To:iceboy2000()
       能不能详细一点,谢谢。
      

  4.   

    设置TreeView1的RightClickSelect为False;procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var Node: TTreeNode;
    begin
      if Button =mbRight then
      begin
        Node := TreeView1.GetNodeAt(x,y);
        if Node <> nil then
          Node.Selected := True;
      end;
    end;
      

  5.   

    当然可以,将RightClickSelected设定为true就可以,另外你还可以在OnContextPopup事件中更详细的设置
      

  6.   

    To:genphone_ru(票票) 
      用你的方法成功。
      谢谢你。
      
      结帐给你。
      
      

  7.   

    1、首先在Treeview的popupmenu中设置一个你定义好的popupmenu1
    popupmenu1的菜单设置我想你应该会?!
    2、在Treeview的onMouseDown事件中写下如下的程序:
    procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
    var 
      AnItem: TTreeNode;
    begin
      if Button =mbRight then
      begin
        AnItem:= TreeView1.GetNodeAt(x,y);
        if AnItem<>nil then
          TreeView1.Selected:=AnItem;
      end;
    end;  
    3、程序意思是当Button是右键时,Treeview被选择的节点就是Anitem得到的
    节点值,并显示出快捷菜单!
      

  8.   

    很简单啦,只要把treeview的popupmenu属性设置成所要弹出的菜单就行了!!