请问单击单钮就可以弹出菜单是如何实现的,像Windows开始菜单那样的?

解决方案 »

  1.   

    form1.PopupMenu1.Popup(form1.Left+button1.Left,form1.Top+button1.Top+button1.Height);
      

  2.   

    PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
      

  3.   

    PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y);
    利用这个也是可以的
      

  4.   

    回复人: miky(miky) ( ) 信誉:100  2004-04-07 18:38:00  得分:0 
     
     
      很容易,写了段代码给你参考。procedure TForm1.SpeedButton1Click(Sender: TObject);
    var
      P: Tpoint;
    begin
      P.X  := SpeedButton1.BoundsRect.left;
      p.Y  := SpeedButton1.BoundsRect.Bottom;
      P := ClientToScreen(P);
      popupMenu1.Popup(P.X,P.y);
    end;end.//最经典的,(转载)
      

  5.   

    api trackpopupmenu      can accord your decommand.
      

  6.   

    trackpopupmenu use TPM_BOTTOMALIGN param it's mean your y param is the menu's bottom.
      

  7.   

    To wfhlxl() :
      哇,参数好多啊,麻烦你给我介绍一下那些参数的意思,好吗?
      

  8.   

    TrackPopupMenu(yourPopupMenu.Handle,TPM_BOTTOMALIGN,x,y,0,handle,nil); not forget cent
      

  9.   

    回来看看啊,帮帮我,怎么点菜单项都没反应,ONCLICK事件已经写了啊,怎么回事?