如题。

解决方案 »

  1.   

    通过截获消息应该可以的
    OnKeyDown那些事件处理或者可以的
    试一下了,我没时间做了
      

  2.   

    给你写了一个.自己看吧!
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        procedure mymessage(var msg:Tmsg;var handled:boolean);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure tform1.mymessage(var msg:tmsg;var handled:boolean);
    begin
    //判断是否在Edit1上点击右键//
    if (msg.message=WM_rbuttondown) and (msg.hwnd=edit1.Handle) then
    begin
    handled:=true;
    exit;
    end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
    application.OnMessage:=mymessage;
    end;end.
      

  3.   

    不必那么复杂吧?给Edit添加个PopupMenu,设两个子项,其快捷键(ShortCut)分别设为Ctrl+C和Ctrl+V,然后再试试看,不管使用右键菜单还是快捷键,复制、粘贴功能都没了,且不用写一句代码的。各位大侠的方法似乎杀鸡用牛刀了。
    PopupMenu会用吧?:)
      

  4.   

    建议使用delphiseabird(沙鸥) 的方法。用HOOK吧
      

  5.   

    能不能说说HookMainWindow怎么用啊!大虾!
      

  6.   

    contextpopup事件中
    加入handled := false;