Delphi Button[i].click

Gast #3702076
Lesenswert?
• ▲
▼
Hi

Ich weiss es im Moment nicht, wie es geht, daher hab da mal eine Frage:

Ich habe

Button1
Button2
Button3
Button4
Button5
Button6
Button7

Wie kann ich einen Button auswählen in dem ich die letzte Nummer mit 
einem Aufruf übergebe?

Z.B.

Button[i].click;

geht ja leider nicht, da kein Array für die Button angelegt ist.
Ich denke dass man zuerst ein Array von Buttons anlegen muss und dann 
eben über das Array den Button auswählt, wie aber diesen Button dann ( 
Name ) in der Form beschreiben?

Ich hoffe ich habe es verständlich formuliert.

Vielen Dank!
Gast #3702097
Lesenswert?
• ▲
▼
In Tag wird der Index des Buttons abgelegt.

Button1.Tag := 1;
Button2.Tag := 2;
Button3.Tag := 3;
Button4.Tag := 4;
Button5.Tag := 5;
Button6.Tag := 6;
Button7.Tag := 7;

Allen Buttons wird dieselbe OnClick-Procedure zugewiesen.

Button1.OnClick := MyButton1Click;
Button2.OnClick := MyButton1Click;
Button3.OnClick := MyButton1Click;
Button4.OnClick := MyButton1Click;
Button5.OnClick := MyButton1Click;
Button6.OnClick := MyButton1Click;
Button7.OnClick := MyButton1Click;

In der OnClick-Procedure wird über Tag der Auslöserbutton ermittelt.

procedure TForm1.MyButton1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(TButton(Sender).Tag));
end;
Gast #3702100
Lesenswert?
• ▲
▼
hagi schrieb:
> In Tag wird der Index des Buttons abgelegt.

Hagen ;-)

danke!
genau das wars ;-) ...

das andere geht ja so oder:

VAR
  Buttons : ARRAY [0..10] OF TButton;
{...}
FOR n:=Low(Buttons) TO High(Buttons) DO
BEGIN
  Buttons[n] := TButton.Create(Self);
  {...}
END;

Vielen Dank! ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren