Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#6

AW: ButtonClick Prozedur in eigene Methode definieren

  Alt 27. Feb 2019, 16:02
Was meinst Du?

Möchtest Du aus einer Prozedur heraus einen ButtonClick auslösen? Dann rufe in der Prozedur die Routine auf, die Du dem ButtonClick-Ereignis zugeordnet hast.

Oder willst Du innerhalb einer Prozedure einem Button eine Routine zuweisen, die er beim Click ausführen soll? Auch das geht.

Delphi-Quellcode:
procedure TForm1.button1Click(Sender: TObject);
begin
  ShowMessage('Button1Click');
end;

procedure TForm1.irgendwas;
begin
...
  button1Click(Sender);
// oder
  button1Click(Nil);
// oder
  button1Click(Self);
...
end;

procedure TForm1.IrgendwasZumClickenClick(Sender: TObject);
begin
  ShowMessage('IrgendwasZumClickenClick');
end;

procedure TForm1.irgendwas;
begin
...
  Button1.OnClick := IrgendwasZumClickenClick;
...
end;

procedure TForm1.IrgendwasZumClickenFuerVieleButtonsClick(Sender: TObject);
begin
  if Sender is TButton then begin
    if Sender = Button1 then ShowMessage(Format('Button.Name = %s',[TButton(Sender).Name]))
    else if Sender = Button2 then FormatC
    else if Sender = Button3 then ...;
  end;
end;

procedure TForm1.irgendwas;
begin
...
  Button1.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
  Button2.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
  Button3.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
  Button4.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
  Button5.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
  Button6.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
  Button7.OnClick := IrgendwasZumClickenFuerVieleButtonsClick;
...
end;
  Mit Zitat antworten Zitat