比如我在GRID的ondragdrop事件中,如何才能让EDIT1的onexit事件失效呀.

解决方案 »

  1.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        procedure Edit1Exit(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Edit1Exit(Sender: TObject);
    begin
      showmessage('aaaaa');
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      showmessage('bbbbb');
      Edit1.OnExit:=nil;
    end;end.
      

  2.   

    EdtiExitEvent := Edit1.OnExit;
    Edit1.OnExit := Nil;
    //do something
    Edit1.OnExit := EdtiExitEvent ;
      

  3.   

    chris_mao   EdtiExitEvent是什么类型的呀?
      

  4.   

    要让那个按钮的那个事件失效,直接按钮名+事件=nil就可以,要让有效,就不用管
      

  5.   

    TNotifyEvent = procedure(Sender: TObject) of object;事件类型,在classes单元,可以自己定义事件为此类型,然后手动给控件添加事件
      

  6.   

    var
      EdtiExitEvent: TNotifyEvent;
    begin
      EdtiExitEvent := Edit1.OnExit;
      Edit1.OnExit := Nil;
      //do something
      Edit1.OnExit := EdtiExitEvent ;
    end;