ohne irgendwie
OT werden zu wollen, ein ausschnitt aus einem projekt von mir:
Delphi-Quellcode:
//globale vars:
var
Form1: TForm1;
labels:
array[0..255]
of TLabel;
bars:
array[0..255]
of TRBProgressbar;
//formcreate:
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
dragacceptfiles(
handle,true);
//diese funktion gar nicht anschauen, ist unwichtig
for i:= 0
to 127
do
begin
labels[i] := TLabel.Create(RBPanel1);
labels[i].Parent := Panel1;
labels[i].Left := 4 + (95*(i
mod 4));
labels[i].Top := (i
div 4)*17 + 8;
labels[i].Caption := '
#'+format('
%.3d',[i])+'
:'+chr(i);
labels[i].Tag := i;
labels[i].OnDblClick := bardblclick;
labels[i].OnClick := barclick;
bars[i] := TRBProgressbar.Create(RBPanel1);
bars[i].Parent := labels[i].Parent;
bars[i].Left := labels[i].Left+48;
bars[i].Top := labels[i].Top;
bars[i].Width := 40;
bars[i].ShowHint := true;
labels[i+128] := TLabel.Create(RBPanel1);
labels[i+128].Parent := Panel2;
{ganz viel mehr init-kram, genaugenommen der selbe wie oben}
bars[i+128] := TRBProgressbar.Create(RBPanel1);
bars[i+128].Parent := labels[i+128].Parent;
{noch mehr init-kram, wieder so wie eins weiter oben}
end;
panel2.Hide;
//unwichtig
panel1.Show;
//unwichtig
end;
hilft dir das evtl. bei deinem problem weiter?
wie du siehst, gibt es bei mir keinen unterschied zwischen array-komponenten und "auf der form"-komponenten.
der array wird direkt auf die form gelegt, mit den zuweisungen an left und top werden die kompos einzeln positioniert.
fincomponent kannst du dann endgültig knicken, wenn ich das richtig verstanden habe
(dass ich keine scrollbars sondern labels und progressbars in meinem projekt habe, sollte dich ja nicht weiter stören, hoffe ich!)