[DELPHI] Dynamiczne tworzenie komponentów

0

Jak się można odwoływać do komponentów tworzonych dynamicznie ?
A dokładniej chodzi mi np.
Stworze (Labla) podczas działania programu i jak można później zmienić w nim wartość np.(caption)

Ciekawe czy ktoś rozumie o czym ja klepie ? hmm...
Pozdrówka LIMBA {hello}

0

Tu popatrz na przyklad. wprawdzie troche zawile, ale idee zlapiesz:
http://www.4programmers.net/forum/index.php?action=show&id=27030--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

załapałem dzieki {hello}

0

Pochwalony!
Nie wiem czy dobrze, ale jak mógłbym Ci coś takiego poradzić.
Na początek zadeklarować zmienną np. Labele typu array[0..10] of TLabel (tam pod VAR gdzie jest zadeklarowane Form1 : TForm). Później tylko w OnCreate Formy napisać procedurkę tworzenia pokolei komponentów:
var
LP : Integer; *deklaruj zmienną w której będzie numer labelka
begin
for LP := 0 to 9 do *pętelka
begin
Labele[LP] := TLabel.Create(Self); *stwórz labela
with Labele[LP] do
begin

 Parent := Self;
 Left := LP;  *ustaw stworzonemu labelkowi pozycję left = 0...
 Top := 0;  *...i top = 0
 Caption := IntToStr(LP);  *etykietka niech będzie numerem labela

end;
end;

Teraz tylko gdzie kolwiek napisz Labele[numer_labelka].jakaś_właściwość := coś;
Acha, jeżeli masz pustą formę i na niech chcesz się labelami bawić, to dodaj mogół stdctrls.

unit ...;
{...}
uses ..., StdCtrls;
{...}
procedure TForm1.OnCreate(Sender: AObject);
var
LP : Integer;
begin
for LP := 0 to 9 do
begin
Labele[LP] := TLabel.Create(Self);
with Labele[LP] do
begin

 Parent := Self;
 Left := LP;
 Top := 0;
 Caption := IntToStr(LP);

end;
end;
end;

procedure TForm1.Button1Click(Sender: AObject);
begin
LAbele[0].Caption := 'yaya'
end;

end.----
Patryk Kiciński
[email protected]
http://www.PAST-SKRIPTUM.prv.pl
http://www.STRONEK.prv.pl
http://www.FIRMS.prv.pl
GG : #2975390

0

KiteK, po co Ty to wszystko napisales???--Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

1 użytkowników online, w tym zalogowanych: 0, gości: 1