Zobrazení vybraných TabSheet v PageControl - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Delphi

Zobrazení vybraných TabSheet v PageControl

serial

13. února 2002, 00.00 | Často se stává, že je třeba zobrazit pouze vybrané záložky (TabSheet) v PageControl. Tento článek ukazuje jednu z možností, jak tento problém řešit.

Často se stává, že je třeba zobrazit pouze vybrané záložky (TabSheet) v PageControl. Následující ukázka ukazuje jednu z možností, jak tento problém řešit. Podle typu volání procedury se aktivují všechny nebo část záložek.

Jestliže požadujeme zobrazit pouze zvolené záložky, musíme nejdříve ActivePage.TabVisible nastavit na false. Potom vybíráme z pole iPage zvolené záložky, které zviditelníme:

ActivePageIndex := i;
ActivePage.TabVisible := true;

V posledním kroku se zvolí záložka, která má být v popředí:

ActivePageIndex := iPage[0];

procedure TForm1.SelectPageControl(iPage: array of integer);
var
  i, p: integer;
begin
  with PageControl1 do
  begin
//nejdrive vsechny TabSheet zneviditelnit
    for i := 0 to PageCount - 1 do
    begin
      ActivePageIndex := i;
      if length(iPage) = 0  //pro prazdne pole
        then ActivePage.TabVisible := true
        else ActivePage.TabVisible := false;
    end;

    for i := 0 to PageCount - 1 do
     for p := 0 to length(iPage) - 1 do
      if iPage[p] = i then  //aktivni pouze vybrane TabSheet
        begin
          ActivePageIndex := i;
          ActivePage.TabVisible := true;
        end;

//nastavi se aktivni TabSheet do popredi
    if length(iPage) = 0
      then ActivePageIndex := 0
      else ActivePageIndex := iPage[0];
  end;
end;

Příklady volání procedury:

SelectPageControl([0, 1, 5]);
 zobrazi se první, druhá a šestá záložka
 v popředí bude první záložka

SelectPageControl([5, 1, 0]);
  zobrazi se první, druhá a šestá záložka
  v popředí bude šestá záložka

SelectPageContro([5]);
  zobrazi se všechny záložky
  v popředí bude šestá záložka

Tématické zařazení:

 » Rubriky  » Delphi  

 » Rubriky  » Windows  

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: