比如一般的edit和memo控件,默认右键点击后,会出现“剪切、复制、粘贴、从右向左阅读”等菜单。现在我想在它们下面或者上面或者中间增加几项。比如增加“打印、打开记事本、发送到word”等等。现在有这样几个问题:
1,如何增加这些菜单(注意:是增加,并不是屏蔽掉以后再自己弄个popupmemu)2,如何设置这些菜单右键的位置3,如何增加分割线(仅仅是美化的效果)

解决方案 »

  1.   

    为什么不添加一个popupmemu???
    分割线就直接输“-”就不可以了
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      lItem: TMenuItem;
      lIndex: integer;  //表示你要增加的右键菜单位置
    begin
      lItem:= TMenuItem.Create(self.PopupMenu1);
      lItem.Caption:= '增加的彩旦';             //如果要加分割线,lItem.Caption:= '-'; 
      lItem.OnClick:= OnClickAddMenuItem;      //你可能要动态为这个菜单添加一个单击事件(如下)
      self.PopupMenu1.Items.Insert(lIndex,lItem); //在此实现动态 增加菜单
    end;procedure TForm1.OnClickAddMenuItem(sender: TObject);
    begin
      ShowMessage('我点击了我刚增加的菜单');
    end;
      

  3.   

    是这样的:
       form上不允许出现任何的popupmenu.我主要是想对edit,meno等控件的默认右键菜单进行操纵。   
      

  4.   

    通过标准的edit控件扩展,编制自己的edit控件
      

  5.   

    分析vcl源码里面的dispach,你会发现,原来可以达到你的要求地。呵呵