Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Delphi (apod) - TNotebook

Ahojte,
mám takovýto problém: na formuláři mám TNotebook s několika stranami, potřebuji dynamicky vytvořit jinou komponentu, třeba Button a dát ji na určitou stranu toho TNotebooku. Dynamicky vytvářet komponenty a sázet je třeba na TPanel umím ale s tím TNotebookem a jeho stranami si nevím rady. Nevíte prosím někdo, jak na to.
Dík za každé nasměrování. (jinak Turbo C++2006)

Předmět Autor Datum
TNotebook neni nestatnejsi volba. Je to hodne stara kompnenta s mizernym pristupem. Radeji pouzij TP…
Jan Fiala 13.10.2006 09:36
Jan Fiala
Já vím ale ten TNotebook tam musí být - vyšší moc :-( I když, možná by změna na TPageControl prošla,… nový
krok 13.10.2006 09:38
krok
I na TNotebook slo vytvaret komponenty. Jen je to slozitejsi. Stranky sou tusim TStrings. Takze pri… nový
Jan Fiala 13.10.2006 12:54
Jan Fiala
Tak, zkoumáním zdrojaku od TNotebook jsem zjistil, že k těm vlastním stránkám se asi nedostanu. Jedi… nový
krok 13.10.2006 11:32
krok
Každá stránka TPageControl je instancí TTabSheet. Ten má vlastnost TabVisible. Mělo by stačit v obje… nový
host 13.10.2006 11:39
host
Dík. Čím víc do toho člověk čumí, tím méně vidí. nový
krok 13.10.2006 14:48
krok
Dík vám oběma. 2JF: Je to tak, v Objects[i] je instance TPage. poslední
krok 13.10.2006 15:01
krok

Tak, zkoumáním zdrojaku od TNotebook jsem zjistil, že k těm vlastním stránkám se asi nedostanu. Jedině udělat potomka od notebooku a zpřístupnit FPageList aspoň ke čtení.

Mám tedy jiný dotaz: jak zabránit komponentě TPageControl zobrazování záložek, tedy aby vizualně vypadal jako TNotebook?

Každá stránka TPageControl je instancí TTabSheet. Ten má vlastnost TabVisible. Mělo by stačit v object inspectoru nastavit na false a získáš TNotebook bez záložek:

  for i := 0 to PageControl1.Pages.Count-1 do
    PageControl1.Pages[i].TabVisible := false;
  PageControl1.ActivePage := PageControl1.Pages[1];

Zpět do poradny Odpovědět na původní otázku Nahoru