naravno da je moguće.. prvo, recimo gore u deklaraciji forme definišeš:
Code:
const
cMaxButtons = 50;
type
tForm1 = class(tForm)
// bla truc
public
Buttons=array[0..cMaxButtons, 0..cMaxButtons] of tButton;
end;
(mada je bolje preko dinamičnih nizova sem u slučaju da je broj dugmića konstantan, i promeni klasu tButton ako ti druga više odgovara)
e sad, deo oko kreiranja, vlasništva, oslobađanja i ostalog je malo komplikovanije, zavisno od toga da li je broj dugmića varira, kada treba da se kreiraju dugmići, kada treba da se oslobode i slično.. najprostiji primer je da u OnFormCreate() treba da napraviš 10*10 matricu dugmića koja treba da ostane tu do kraja izvršavanja programa.. to bi išlo ovako.
Code:
procedure tForm1.OnFormCreate(blah: parametri);
var
b: tButton; // ista klasa kao i gore, a može i podklasa...
begin
for i:=0 to 9 do begin
for j:=0 to 9 do begin
b:=tButton.Create(self);
b.Parent:=self;
b.Left=i*50;
b.Top:=j*20;
b.Label='button '+IntToStr(i)+':'+IntToStr(j);
b.Visible:=true;
Buttons[i, j]:=b;
end;
end;
end;
(u slučaju neke druge potrebe, kaži, pa da dorađujemo)