做一个数据库软件有很多image控件   在image上点右键弹出popupmenu菜单   菜单里有打开选项  image显示打开的图片
   问题是多个image控件可以用一个popupmenu控件吗   代码要怎么写  谢谢

解决方案 »

  1.   

    多个控件可以用1个popupmenu的,将它们的popupmenu属性全指向同一popupmenu就可以了
    而响应PopupMenu时,PopupMenu的PopupComponent属性就是你点击的那个控件
    下面是delphi6自带的EX,两个Edit同时用一个PopupMenuprocedure TForm1.FormCreate(Sender: TObject);begin
      PopupMenu1.AutoPopup := True;
      Edit1.PopupMenu := PopupMenu1;
      Edit2.PopupMenu := PopupMenu1;end;These are the cut, copy, and paste OnClick events for the commands on the pop-up menu. procedure TForm1.Copy1Click(Sender: TObject);begin
      if PopupMenu1.PopupComponent = Edit1 then
       Edit1.CopyToClipboard
      elseif PopupMenu1.PopupComponent = Edit2 then
        Edit2.CopyToClipboard
      else
        Beep;end;procedure TForm1.Cut1Click(Sender: TObject);begin
      if PopupMenu1.PopupComponent = Edit1 then
        Edit1.CutToClipboard
      elseif PopupMenu1.PopupComponent = Edit2 then
        Edit2.CutToClipboard;
      else
        Beep;end;procedure TForm1.Paste1Click(Sender: TObject);begin
      if PopupMenu1.PopupComponent = Edit1 then
        Edit1.PasteFromClipboard
      else if PopupMenu1.PopupComponent = Edit2 then
        Edit2.PasteFromClipboard;
      else
        Beep;
    end;