Einzelnen Beitrag anzeigen

gfjs

Registriert seit: 8. Dez 2005
Ort: Hohenkammer
298 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Buttons dynamisch erstellen

  Alt 27. Feb 2006, 20:49
Wenn ich die Ausgangslage richtig verstanden habe, sollten viele Buttons auf ein Formular?!

Das hier

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i:Integer;
begin
  for i:=0 to 5 do
  begin
    forms[i]:=TForm.Create(self);
    forms[i].Visible := true;
    forms[i].left:= 40*i;
    forms[i].width:= 38;

    buttons[i]:=TButton.create(form1);
    buttons[i].Left := 20;
    buttons[i].top := 80;
    buttons[i].height := 35;
    buttons[i].width := 80;
    buttons[i].Parent := forms[i];
    buttons[i].OnClick := MyBtnClick;
    buttons[i].Tag := i;
    buttons[i].Caption := 'Button ' + IntToStr(i);
  end;
end;
erzeugt aber m.E. viele Formulare mit je einem Button.

Damit

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    ButtonArr : array[0..19] of TButton;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
Var
  i : integer;
begin
  for i := 0 to 19 do
  begin
    ButtonArr[i] := TButton.Create(Form1);
    with ButtonArr[i] do
    begin
      parent := Form1;
      Left := 20 + (i MOD 5)*130;
      Top := 20 + (i DIV 5)*80;
      Tag := i+1;
      Caption := 'Button'+IntToStr(tag);
    end;
  end;
end;
end.
erzeuge ich 20 Buttons auf einem Formular.

mfg gfjs
Mein neues Motto (von "Unbekannt"):
Gewinnen: Wenn Du kannst - Verlieren: Wenn Du musst - Aufgeben: NIE!
  Mit Zitat antworten Zitat