Как да скриете раздели от TabControl
Кой може да ми каже как да скрия раздели от TabControl Благодаря предварително
Ако имате предвид бутоните за превключване на страници по раздели, тогава няма да работи, за да принудите TabControl да скрие разделите „самостоятелно“, но можете да прибягвате до този трик: Преместете разделите надолу (tcoBottom = TRUE) и отрежете областта за изобразяване.
var Rgn: HRGN . Rgn := CreateRectRgn(0,4,TabControl1.Width-1,TabControl1.Height-22); SetWindowRgn(TabControl1.GetWindowHandle,Rgn,TRUE);
Ако разделите са страници - IMHO: трябва да ги изтриете (страници) и да ги поставите обратно, ако е необходимо.
По-правилно е да използвате TC_DisplayRect, той връща координатите на правоъгълника, който трябва да остане след изрязване.
Можете също да създадете събитие OnPaint за tabContorl и да не рисувате нищо в него: procedure TForm1.TabControl1Paint(Sender: PControl; DC: HDC); begin // end; Но [2] + [3] е, разбира се, по-правилно :)
Да, просто искам да направя нещо като пакет TreeView + TabControl (като прозорец с настройки в LightAlloy или TotalCommander), добре, щракнете в TreeView и в зависимост от избрания ред се появява желаният раздел. Направих всичко това, но разделите изглеждат не на място, защото има TreeView.
Според мен в този случай не трябва да се забърквате с TabControl. Защо просто не залепите панели един върху друг и не направите BringToFront. Поставяме основния панел и върху него панели с контроли. Правим ги Align=caClient. Оказа се много просто: TVItem:= TreeView1.TVInsert( 0, 0, "Item 1" ); TreeView1.TVItemData[TVItem]:= Панел1;
TVItem:= TreeView1.TVInsert( 0, TVItem, "Елемент 2"); TreeView1.TVItemData[TVItem]:= Панел2;
TVItem:= TreeView1.TVInsert( 0, TVItem, "Елемент 3"); TreeView1.TVItemData[TVItem]:= Панел3;
процедура TForm1.TreeView1Change(Подател: PObj); начало TKOLPanel(TreeView1.TVItemData[TreeView1.TVSelected]).BringToFront; край
> Според мен в този случай не трябва да се забъркваш с TabControlIMHO: Напротив. Лично аз обичам да използвам TabControl в този случай - с голям брой панели е много по-лесно да поправите нещо по време на проектиране. Във вашия случай се оказва, че има твърде много жестове, които трябва да се извършат, за да се стигне до желания панел за редактиране. (Повтарям - това е IMHO и само за MCK)