如一个事件:
procedure TForm1.EditDblClick(Sender: TObject);
begin
...
...
...end;
现在我想在下列事件中调用上面的事件的过程:procedure TForm1.EditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
...
...end;可不可以直接调用,而不用把事件EditDblClick代码写到事件EditKeyDown中?

解决方案 »

  1.   

    可以直接调用,调用EditDblClick(Sender)就行啦!
      

  2.   

    可以直接调用,只不过sender有点变化;
    比如说
    procedure TForm1.EditABCKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    那末sender指的是EditABC
    这时候你在
    procedure TForm1.EditABCKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    中调用procedure TForm1.EditDblClick(Sender: TObject);如果写成:
    procedure TForm1.EditABCKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      EditDblClick(Sender);
    end;
    那末EditDblClick(Sender);相当于EditDblClick(EditABC);
    这时候eEditDblClick(Sender);过程中的代码都针对EditABC,
    当然你想针对别的控件可以写成:
    例如针对editBCD: EditDblClick(EditBCD);
      

  3.   

    来晚啦!
    TForm1.Button1Click:=TForm1.ButtonClick;