jep.
Das Page- bzw. TabControl reorganisiert die Tabindizes automatisch,
wenn du einen aus der Mitte rauslöscht. Dann gibt es wieder die Indizes
von 0 bis ... Sprich du löscht Page 2 und 3,
dann wird aus Page 4 (falls vorhanden) Page 2 und aus Page 5 Page 3.
Eine neue Page bekommt dann den Index 3 und ist Page 4.
[EDIT]
//hier noch mal ein wenig code wie ichs in meinem pagecontrolderivat gelöst habe
Delphi-Quellcode:
procedure TO12PageControl.ClosePage (Index: Integer);
begin
//Event auslösen, falls es etwas aufzuräumen gibt
if assigned(FOnBeforeCloseTab) then
FOnBeforeCloseTab(Self, Index);
//wenn index < letzte seite dann aktive seite = nächste seite
if (Index < (PageCount - 1)) and (ActivePageIndex = Index) then
ActivePageIndex := Index + 1;
//SelectNextPage(True);
//wenn index = letzte seite dann aktive seite = vorherige seite
if (Index = PageCount) and (PageCount > 0) then
ActivePageIndex := Index - 1;
//seite löschen
Pages[Index].free;
//event auslösen, falls man jetzt etwas mit der neuen aktive seite machen möchte
if assigned(FOnCloseTab) then
FOnCloseTab(Self, ActivePageIndex);
end;