Mam pytanie wie ktoś jak stworzyć dynamiczny komponent na wczesniej stworzonym dynamicznym komponencie jeśli ten pierwszy znajduje się na ToolBar?
Mam coś takiego:
for i:=1 to n do
BEGIN
with TSpeedButton.Create(ToolBar1) do begin
Width:=41;
Height:=33;
Left:=8+(i-1)*48;
Top:=8;
Caption:='SB '+IntToStr(i);
Parent:=ToolBar1;
Visible:=True;
Name:='SpeedButton'+IntToStr(i);
OnClick:=KlikPrzycisku;
end;
i chcę na nim stowrzyć dynamiczny komponent Label
with TLabel.Create(TSpeedButton(self.FindComponent('SpeedButton' + inttostr(i)))) do begin //**
Left:=8+(i-1)*48;
Top:=8;
parent:=self; //**
Visible:=True;
Caption:='Etykieta';
Visible:=True;
OnClick:=KlikPrzycisku;
end;
W liniach zaznaczonych ** jest błąd ponieważ nie odwołuje się do istniejacego juz komponentu najprawdopodobniej w parent. Robiłem próby z FindComponent('SpeedButton' + inttostr(i)) i przy każdej okazji dostawałem błąd Incompatible types: 'TWinControl' and 'TComponent'.
Jak odwołać sie do tego SpeedButton x stworzonego wcześniej żeby na nim utworzyć kolejny komponent?
Jeśłi w obu wypadkach zastosuje odwołanie się do self wowczas labele w ogóle sie nie pokazują, jeśli do ToolBar następuje przesunięcie komponentów niezależnie od ich parametru Left są po prostu umieszczane obok siebie a nie na sobie.
I kolejna sprawa jak zastosuje komponent TabbedNotebook i na nim będę chciał stworzyć dynamiczne komponenty np SpeedButton nawet jeśli się odwołam bezpośrednio do TabbedNotebook wówczas komponenty te 'chowają' się pod nim. Jak je wyciągnąć na wierzch?
Przykład poniżej:
with TSpeedButton.Create(TabbedNotebook) do begin
Width:=41;
Height:=33;
Left:=10;
Top:=8;
Caption:='SB1';
Parent:=TabbedNotebook;
Visible:=True;
end;