Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: array Buttons und proceduren

  Alt 9. Sep 2010, 21:49
Mal ein kleines Beispiel, was Markus meint (da gibt's natürlich auch mehrere Möglichkeiten, das umzusetzen):
Delphi-Quellcode:
// ...

type
  TForm1 = class(TForm)
    CreateButtons: TButton;
    procedure MyBtnClick(Sender: TObject);
    procedure CreateButtonsClick(Sender: TObject);
  private
    { Private-Deklarationen }
    MyButtons: array[1..5] of TButton;

// ...

procedure TForm1.CreateButtonsClick(Sender: TObject);
var
  i: Integer;
begin
  for i := 1 to 5 do
  begin
    MyButtons[i] := TButton.Create(Application.MainForm);
    MyButtons[i]. Left := 200;
    MyButtons[i].Top := 20 + i * 30;
    MyButtons[i].Parent := Form1;
    MyButtons[i].Name := 'MyBtn' + IntToStr(i);
    MyButtons[i].Caption := MyButtons[i].Name;
    MyButtons[i].Tag := i; // für die Fallunterscheidung im OnClick
    MyButtons[i].OnClick := MyBtnClick;
    MyButtons[i].Show;
  end;
end;

procedure TForm1.MyBtnClick(Sender: TObject);
begin
  case (Sender as TButton).Tag of
    1: begin
         // Code fürs Button1-Onlick
         ShowMessage('Btn 1');
       end;
    2: begin
         // Code fürs Button2-Onlick
         ShowMessage('Btn 2');
       end;
    3: begin
         // Code fürs Button3-Onlick
         ShowMessage('Btn 3');
       end;
    4: begin
         // Code fürs Button4-Onlick
         ShowMessage('Btn 4');
       end;
    5: begin
         // Code fürs Button5-Onlick
         ShowMessage('Btn 5');
       end;
  end;
end;
Angehängte Dateien
Dateityp: zip Project1.zip (223,9 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat