Einzelnen Beitrag anzeigen

Benutzerbild von Nighthawk1310
Nighthawk1310

Registriert seit: 22. Feb 2004
Ort: Izmir / Türkei
45 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: On Button click close all TPageControl TTabSheet`s

  Alt 15. Sep 2006, 17:30
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;
Michael
  Mit Zitat antworten Zitat