RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
TTabSheet.TabIndex Property

Indicates the position of the tab sheet in the set of visible tabs in a TPageControl object.

Pascal
property TabIndex: Integer;
C++
__property int TabIndex;

Read TabIndex to determine where the user sees the tab sheet. A value of 0 indicates the first visible tab sheet, a value of 1 indicates the second visible tab sheet, and so on. TabIndex is always less than or equal to PageIndex. For example, a tab sheet that has a PageIndex of 3 will have a TabIndex of 2 if one of the previous tab sheets in the page control is not visible.  

If a tab sheet's TabVisible property is false, the TabIndex property is -1.  

C++ Examples: 

 

/*
This example creates ten Tab Sheets and sets the captions to
display PageIndex and TabIndex for each tab.  Odd numbered
tabs have their TabVisible property set off to demonstrate
the effect on PageIndex vs TabIndex.  On the series of
visible tabs, PageIndex will read 0, 2, 4, 6, 8, and
TabIndex will read 0, 1, 2, 3, 4.  PageIndex counts only
visible tabs.
*/
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  const TColor colorPalette[12] = {
    clRed, clGreen, clYellow, clBlue, clWhite, clFuchsia,
    clTeal, clNavy, clMaroon, clLime, clOlive, clPurple};
  PageControl1->MultiLine = true;
  for (int i = 0; i < 10; i++)
  {
    TTabSheet *page = new TTabSheet(this);
    page->PageControl = PageControl1;
    page->TabVisible = (i % 2 == 0);
    page->Caption =
      AnsiString("PageIndex: ") + IntToStr(page->PageIndex) +
      AnsiString("  TabIndex: ") + IntToStr(page->TabIndex);
    page->Brush->Color = colorPalette[i];
  }
}

 

Delphi Examples: 

{
This example creates ten Tab Sheets and sets the captions to
display PageIndex and TabIndex for each tab.  Odd numbered
tabs have their TabVisible property set off to demonstrate
the effect on PageIndex vs TabIndex.  On the series of
visible tabs, PageIndex will read 0, 2, 4, 6, 8, and
TabIndex will read 0, 1, 2, 3, 4.  PageIndex counts only
visible tabs.
} 
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
const
  colorpalette: Array[0..11] of TColor = (
    clRed, clGreen, clYellow, clBlue, clWhite, clFuchsia,
    clTeal, clNavy, clMaroon, clLime, clOlive, clPurple);
begin
  with PageControl1 do
    for i := 0 to 9 do
      with TTabSheet.Create(Self) do
      begin
        PageControl := PageControl1;
        TabVisible := (PageIndex mod 2 = 0);
        Brush.Color := colorpalette[i];
        Caption := 'PageIndex: ' +
        IntToStr(PageIndex) + '  TabIndex: ' +
          IntToStr(TabIndex);
      end;
end;

 

Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
What do you think about this topic? Send feedback!