RAD Studio VCL Reference
|
Specifies the page currently displayed by the page control.
property ActivePage: TTabSheet;
__property TTabSheet ActivePage;
Read ActivePage to determine which page is selected by the user. The user selects a page by clicking the mouse on its tab. Set ActivePage to bring a page to the foreground. Only one page can be active at a time.
To change the ActivePage to the page that precedes or follows the active page, use the SelectNextPage method. To iterate through all the pages to locate a specific page, use the FindNextPage method.
C++ Examples:
/* This example requires a TPageControl already on the form. Also, you must add pages to the TPageControl by right clicking and selecting New Page. The example code will allow the user to select the ActivePage property through selection of a ComboBox item. During the form create, the Combo Box control is loaded with the names of each of the tabs, as well as the instance pointers to the corresponding tab. When the user selects the Combo Box item, the associated TTabSheet object contained in the Combo Box Objects array is used to set the ActivePage property. Select the Lines property of the TRichEdit to enter a string. Select the string before justifying. */ void __fastcall TForm1::ComboBox1Change(TObject *Sender) { TComboBox *pCB = dynamic_cast<TComboBox *>(Sender); if (pCB) PageControl1->ActivePage = dynamic_cast<TTabSheet *>(pCB->Items->Objects[pCB->ItemIndex]); } void __fastcall TForm1::FormCreate(TObject *Sender) { const TColor colorPalette[12] = { clRed, clGreen, clYellow, clBlue, clWhite, clFuchsia, clTeal, clNavy, clMaroon, clLime, clOlive, clPurple}; for (int i = 0; i < PageControl1->PageCount; i++) { PageControl1->Pages[i]->Brush->Color = colorPalette[i]; ComboBox1->Items->AddObject(PageControl1->Pages[i]->Name, PageControl1->Pages[i]); } ComboBox1->ItemIndex = 0; PageControl1->ActivePage = dynamic_cast<TTabSheet *>(ComboBox1->Items->Objects[ComboBox1->ItemIndex]); }
/* This example requires a TPageControl populated by several TabSheets, a TEdit and a TButton. When the button is clicked, the caption of the active tab changes to that of the TEdit. These lines of code could also be written: PageControl1.ActivePage.Caption := Edit1.Text; This would make a TTabSheet variable unnecessary since PageControl1.->ActivePage is already of type TTabSheet. */ void __fastcall TForm1::Button1Click(TObject *Sender) { TTabSheet *sheet = PageControl1->ActivePage; sheet->Caption = Edit1->Text; }
Delphi Examples:
{ This example requires a TPageControl already on the form. Also, you must add pages to the TPageControl by right clicking and selecting New Page. The example code will allow the user to select the ActivePage property through selection of a ComboBox item. During the form create, the Combo Box control is loaded with the names of each of the tabs, as well as the instance pointers to the corresponding tab. When the user selects the Combo Box item, the associated TTabSheet object contained in the Combo Box Objects array is used to set the ActivePage property. Select the Lines property of the TRichEdit to enter a string. Select the string before justifying. } procedure TForm1.FormCreate(Sender: TObject); var i: Integer; const colorarray : Array[0..4] of TColor = ( clYellow, clGreen, clBlue, clLime, clFuchsia); begin for i := 0 to PageControl1.PageCount - 1 do begin PageControl1.Pages[i].Brush.Color := colorarray[i]; ComboBox1.Items.AddObject(PageControl1.Pages[i].Name, PageControl1.Pages[i]); end; ComboBox1.ItemIndex := 0; PageControl1.ActivePage := TTabSheet(ComboBox1.Items.Objects[ComboBox1.ItemIndex]); end; procedure TForm1.ComboBox1Change(Sender: TObject); begin if (Sender is TComboBox) then with (Sender as TComboBox) do PageControl1.ActivePage := TTabSheet(Items.Objects[ItemIndex]); end;
{ This example requires a TPageControl populated by several TabSheets, a TEdit and a TButton. When the button is clicked, the caption of the active tab changes to that of the TEdit. These lines of code could also be written: PageControl1.ActivePage.Caption := Edit1.Text; This would obviate the need for a TTabSheet variable since PageControl1.->ActivePage is already of type TTabSheet. } procedure TForm1.Button1Click(Sender: TObject); var sheet: TTabSheet; begin sheet := PageControl1.ActivePage; sheet.Caption := Edit1.Text; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|