@Młody: pytającemu pewnie chodzi o efekt jak w IDE kompilatorów, tylko że on po wciśnięciu "<" chce mieć pewnie w ListBox listę podpowedzi polecen które może zawrzeć w tagach. Ja pytającemu porponuje jeżeli nie chce aplikacji MDI chociaż takowa byłą by tutaj wskazana z wieloma oknami, to możesz strony w PageControl tworzyć dynamicznie przez kod i na nich Memo o nazwie 'SynMemo' + IntToStr(IndeksAktualnejZakladki +1)
. Poniżej jest kod, o który Tobie chodzi ListBoxy będą miały nazwy UczSiePodstaw + IntToStr(IndeksAktualnejZakladki +1)
. Poza tym jakbyś spojrzał do Helpa to byś dawno wiedział, że nie istnieje metoda dla TListBoxów o nazwie Show. Zdecyduj się więc, bo z Twojego kodu wynika, że chcesz stworzyć dynamicznie TListView, a nie TForm. Poza tym przez dwa dni już dawno byś wygooglował co i jak, ale nic brak samodzielności ludzi na tym forum już poznałem. Temat przenoszę do Newbie, bo tam jest miejsce wątków, które dotyczą podstaw. Oczywiście metodę SynMemo1KeyPress najlepiej dynamicznie podczep sobie pod kontrolki tworząć je dynamicznie, bo wystarczy jedna wspólna dla wszystkich. Niszczenie później oraz obsługa TListBoxa również można robić poprzez zmienną LB do której podstawisz wyszukanie kontrolki funkcją Self.FindComponent. I takie wyszukiwanie przez Controls[0] nie jest najlepszym pomysłem, ponieważ może zwracać kontrolkę inną niż SynMemo, więc najbezpieczniej dla kontrolek innych niż GroupBox wyszukiwać przez Self czyli na ogół jakąś podchodną TForm. A najlepiej to zawsze po wyszikiwaniu sprawdzać czy wartość zmiennej dla obiektu jest <> nil. I jeszcze jedna uwaga na przyszłośc, poza zadawaniem pytań o podstawy w dziale do tego przeznaczonym, pamiętaj o tagowaniu wątku nazwą środowiska, jak również sensownymi tematami, nie myśl że jak dodasz głupie "Proszę pomóżcie" to wszyscy rzucą się i telepatycznie zanim wejdą na forum rozwiążą Twój problem. Temat ma krótko streścić zagadnenie wątku poruszone w jego treści, a nie czynić z Ciebie jakiegoś "żebraka".
//...
procedure TForm1.SynMemo1KeyPress(Sender : TObject; var Key : Char);
const
SynMemo_Name = 'SynMemo';
ListBox_Name = 'UczSiePodstaw';
var
LB : TListBox;
Idx : integer;
SynMemo : TSynMemo;
begin
if Key = '<' then
begin
Idx := PageControl1.ActivePageIndex + 1;
LB := TListBox(Self.FindComponent(ListBox_Name + IntToStr(Idx)));
if LB = nil then
begin
SynMemo := TSynMemo(Self.FindComponent(SynMemo_Name + IntToStr(Idx)));
LB := TListBox.Create(Self);
LB.Name := ListBox_Name + IntToStr(Idx);
LB.Parent := SynMemo;
LB.Items.Add(SynMemo.Name);
end
else
begin
ShowMessage('ListBox na tej karcie jest już utworzony!');
end;
end;
end;
//...