RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
TPageControl.Pages Property

Lists all the pages in the TPageControl.

Pascal
property Pages [Index: Integer]: TTabSheet;
C++
__property TTabSheet Pages[int Index];

Use Pages to gain direct access to a particular page in the page control. For example, use Pages to disable individual pages in the page control. Specify which page to access using Index, where an Index of 0 specifies the first page, an Index of 1 specifies the second page, and so on. Each page is a TTabSheet object. 

To locate a page in the page control by its position relative to another page, use the FindNextPage method.

Note: Pages is a read-only property. To add a tab sheet to a page control at design time, right click and select New Page. To add a tab sheet to a page control at runtime, create the tab sheet and set its PageControl property to the page control.
 

C++ Examples: 

 

/*
This project requires a TPageControl and several TTabPages.
To add new pages, right-click the TPageControl and select 
New Page.  During the form creation the width and height of 
all tabs on the Page Control becomes double the largest 
previous value. So if there are three tabs with captions that
are 12, 23, and 19 characters long, the TabWidth would be the
number of pixels required to fit 46 characters.
*/
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  for (int i = 0; i < PageControl1->PageCount; i++)
  {
     AnsiString s = PageControl1->Pages[i]->Caption;
     if (Canvas->TextWidth(s) * 2 > PageControl1->TabWidth)
        PageControl1->TabWidth = Canvas->TextWidth(s) * 2;
      if (Canvas->TextHeight(s) * 2 > PageControl1->TabHeight)
        PageControl1->TabHeight = Canvas->TextHeight(s) * 2;
  }
}

 

Delphi Examples: 

{
This project requires a TPageControl and several TTabPages.
To add new pages, right-click the TPageControl and select 
New Page.  During the form creation the width and height of 
all tabs on the Page Control becomes double the largest 
previous value. So if there are three tabs with captions that
are 12, 23, and 19 characters long, the TabWidth would be the
number of pixels required to fit 46 characters.
} 
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  with PageControl1 do
  begin
    for i := 0 to PageCount - 1 do
    begin
      if (Canvas.TextWidth(Pages[i].Caption) * 2) > TabWidth then
        TabWidth := Canvas.TextWidth(Pages[i].Caption) * 2;
      if (Canvas.TextHeight(Pages[i].Caption) * 2) > TabHeight then
        TabHeight := Canvas.TextHeight(Pages[i].Caption) * 2;
    end;
  end;
end;

 

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