Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Hide Tab inside TabControl ? [Delphi]


Dodfr ©   (2007-12-13 12:01:00) 

Hello, I am trying to hide some tabsheet into into tabcontrol but cannot find to right function.

I tried many but none work, my tab and its content is still visible.

   MyTab.Children[0].Visible:=false;
   MyTab.TC_Pages[0].Visible:=false;
   TabPage_0.Visible:=false;

All thoses are unefficient.

Regards.


Dodfr   (2007-12-13 14:10:00) [1]

OK that's a workaround, but not very easy to use and will be more complicated if I have to manage more than two tabs, here what I do :

OnFormShow :

 sSheetHTTP := TabControlExternalDataGrabber.TC_Items[0];
 pSheetHTTP := TabControlExternalDataGrabber.TC_Pages[0];
 sSheetFile := TabControlExternalDataGrabber.TC_Items[1];
 pSheetFile := TabControlExternalDataGrabber.TC_Pages[1];
 TabControlExternalDataGrabber.TC_Remove(1); //keep only first one at startup

Then in have a list inwhich I click and depending which entry I select SheetHTTP or SheetFile will be showed/hidden (other sheets ar visible but will not need to switch visible/invisible) :

if want to to show sheetHTTP and hide sheetFile :

TabControlExternalDataGrabber.TC_Remove(0);
TabControlExternalDataGrabber.TC_InsertControl(0,sSheetHTTP,0,pSheetHTTP);

or do invert :

TabControlExternalDataGrabber.TC_Remove(0);
TabControlExternalDataGrabber.TC_InsertControl(0,sSheetFile,0,pSheetFile);

That works but so many lines for a "so simple" .visible VCL-like property :-(


Дмитрий К   (2007-12-13 13:16:00) [2]


> it destroy all controls inside the pane

It does not.
What version of KOL you use?

var p: PControl; s: string;
begin
 s:= TabControl1.TC_Items[0];
 p := TabControl1.TC_Remove(0);
 TabControl1.TC_InsertControl(0,s,0,p);
end;


Dodfr   (2007-12-13 13:02:00) [3]

TC_Remove is not good solution for me as it destroy all controls inside the pane so to make it reapper again I must do a TC_Insert and recreate all its content.

I just want to show/hide tabs as VCL TabSheet.visible do.


Дмитрий К   (2007-12-13 12:54:00) [4]

TC_Remove


Dodfr   (2007-12-13 12:53:00) [5]

TabPage_0 is the name of one of the TKolPanel tab inside TabControl so  TabPage_0.Visible:=false; was supposed to do it but it stay visible.


SergeR   (2007-12-13 12:41:00) [6]

TabControl create some TKOLPanels, like TabControl_Tab1.
Use TabControl_Tab1.visible := false


Наверх

Титульная страница Поиск, карта сайта Написать письмо