MainMenu相應的屬性方法事件,都寫好了;
現在要用到PopupMenu,菜單項要和MainMenu一模一樣(相應的屬性方法事件);
如何簡單的就做到此功能呢?

解决方案 »

  1.   

    假设N1是MainMenu1中的一个菜单项:
    procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      pt: TPoint;
    begin
      if Button = mbRight then
      begin
        GetCursorPos(pt);
        TrackPopupMenu(N1.Handle, TPM_LEFTBUTTON or TPM_LEFTALIGN,
          pt.X, pt.Y, 0, Handle, nil);
      end;
    end; 
      

  2.   

    你添加一个TACTIONLIST的控件,把所有的代码都指定为这个动作的代码就行了!或是在POPUPMENU中指定MAINMENU的菜单选中事件
      

  3.   

    可能是我的表述有問題
    與MainMenu的菜單項應該沒關係(可能有很多,還有子菜單)
    var
      mmMain: TMainMenu; //相應的屬性,方法,事件,都已經寫好  pmMain: TPopupMenu;//就放了一個控件在form上目前pmMain沒有一個菜單項(基本上甚麼都沒有)想要做的功能是:
    pmMain菜單項要和mmMain一模一樣(相應的屬性方法事件,所有的菜單項,子菜單);
      

  4.   

    我要pmMain:TPopupMenu
    的用處是放在任務欄的小圖標上;
      

  5.   

    並非一列
    所有的菜單項(還有子菜單)pmMain: TPopupMenu;//就放了一個控件在form上
    目前pmMain沒有一個菜單項(基本上甚麼都沒有)
      

  6.   

    我那段程序不用放POPUPMENU就可以用了
      

  7.   

    多謝cg1120(代码最优化-§新年祝福你,好运伴着你§) !
    TrackPopupMenu(N1.Handle, TPM_LEFTBUTTON or TPM_LEFTALIGN,
          pt.X, pt.Y, 0, Handle, nil);
    //1,只能實現n1這一列
    //2,popupmenu只能在pt.x,pt.y處顯示我要的功能是所有列
    其次不是在FORM上顯示,在扥盤那個地方,按左鍵使其顯示所以我用到了一個TPopUpMenu