Difference between revisions of "TPageControl"

From Free Pascal wiki
Jump to navigationJump to search
Line 3: Line 3:
 
'''TPageControl''' [[image:tpagecontrol.png]] is a component that provides a container to hold pages, much like a real-world notebook.  TPageControl is a descendant of [[TWinControl]] and is available under the [[Common Controls tab]] of the [[Component Palette]].   
 
'''TPageControl''' [[image:tpagecontrol.png]] is a component that provides a container to hold pages, much like a real-world notebook.  TPageControl is a descendant of [[TWinControl]] and is available under the [[Common Controls tab]] of the [[Component Palette]].   
  
Unlike a [[TTabControl]], each tab is connected to its own page.  Pages ([[TTabSheet]]s) from a TPageControl are accessible through its (non published) ''Pages'' property.  Right-click on a TPageControl to show its context menu, and use 'Add Page' to create a new page.
+
Unlike a [[TTabControl]], each tab is connected to its own page.  Pages ([[TTabSheet]]s) from a TPageControl are accessible through its (non published) ''Pages'' [[Property|property]].  Right-click on a TPageControl to show its context menu, and use 'Add Page' to create a new page.
  
 
[[File:component-TPageControl.png]]
 
[[File:component-TPageControl.png]]
Line 17: Line 17:
 
</source>
 
</source>
 
===Changing the Parent===
 
===Changing the Parent===
You can change Tab's parent to a different or control or event to '''nil'''
+
You can change Tab's parent to a different or control or event to '''[[Nil|nil]]'''
 
The method is useful when you need to move the sheet from one TabControl to another. OR you want to show the page again later. OR you just need to keep controls intact.  
 
The method is useful when you need to move the sheet from one TabControl to another. OR you want to show the page again later. OR you just need to keep controls intact.  
 
<source lang="pascal">
 
<source lang="pascal">

Revision as of 21:47, 18 June 2019

English (en) suomi (fi) français (fr) русский (ru) 中文(中国大陆)‎ (zh_CN)

TPageControl tpagecontrol.png is a component that provides a container to hold pages, much like a real-world notebook. TPageControl is a descendant of TWinControl and is available under the Common Controls tab of the Component Palette.

Unlike a TTabControl, each tab is connected to its own page. Pages (TTabSheets) from a TPageControl are accessible through its (non published) Pages property. Right-click on a TPageControl to show its context menu, and use 'Add Page' to create a new page.

component-TPageControl.png

The current (active) page is accessible through the ActivePage property.

Deleting a Page

There are different ways of "deleting" a page from a tabsheet. All the approaches listed below would cause the target page tab to disappear from the control. Giving the end-user an effect of deleting a page. Though the page might remain available in the code.

Hide the tab

The code simply hides the tab from TabControl. Meaning the user will not longer be able to select it manually.

Tabsheet2.TabVisible := false;

Changing the Parent

You can change Tab's parent to a different or control or event to nil The method is useful when you need to move the sheet from one TabControl to another. OR you want to show the page again later. OR you just need to keep controls intact.

Tabsheet2.Parent := nil;

Freeing the page

The method can be used when you don't need the control itself anymore (as well as it's children)

TabSheet2.Free;
TabSheet2:=nil; // this is optional

See also


LCL Components
Component Tab Components
Standard TMainMenu • TPopupMenu • TButton • TLabel • TEdit • TMemo • TToggleBox • TCheckBox • TRadioButton • TListBox • TComboBox • TScrollBar • TGroupBox • TRadioGroup • TCheckGroup • TPanel • TFrame • TActionList
Additional TBitBtn • TSpeedButton • TStaticText • TImage • TShape • TBevel • TPaintBox • TNotebook • TLabeledEdit • TSplitter • TTrayIcon • TControlBar • TFlowPanel • TMaskEdit • TCheckListBox • TScrollBox • TApplicationProperties • TStringGrid • TDrawGrid • TPairSplitter • TColorBox • TColorListBox • TValueListEditor
Common Controls TTrackBar • TProgressBar • TTreeView • TListView • TStatusBar • TToolBar • TCoolBar • TUpDown • TPageControl • TTabControl • THeaderControl • TImageList • TPopupNotifier • TDateTimePicker
Dialogs TOpenDialog • TSaveDialog • TSelectDirectoryDialog • TColorDialog • TFontDialog • TFindDialog • TReplaceDialog • TTaskDialog • TOpenPictureDialog • TSavePictureDialog • TCalendarDialog • TCalculatorDialog • TPrinterSetupDialog • TPrintDialog • TPageSetupDialog
Data Controls TDBNavigator • TDBText • TDBEdit • TDBMemo • TDBImage • TDBListBox • TDBLookupListBox • TDBComboBox • TDBLookupComboBox • TDBCheckBox • TDBRadioGroup • TDBCalendar • TDBGroupBox • TDBGrid • TDBDateTimePicker
Data Access TDataSource • TCSVDataSet • TSdfDataSet • TBufDataset • TFixedFormatDataSet • TDbf • TMemDataset
System TTimer • TIdleTimer • TLazComponentQueue • THTMLHelpDatabase • THTMLBrowserHelpViewer • TAsyncProcess • TProcessUTF8 • TProcess • TSimpleIPCClient • TSimpleIPCServer • TXMLConfig • TEventLog • TServiceManager • TCHMHelpDatabase • TLHelpConnector
Misc TColorButton • TSpinEdit • TFloatSpinEdit • TArrow • TCalendar • TEditButton • TFileNameEdit • TDirectoryEdit • TDateEdit • TTimeEdit • TCalcEdit • TFileListBox • TFilterComboBox • TComboBoxEx • TCheckComboBox • TButtonPanel • TShellTreeView • TShellListView • TXMLPropStorage • TINIPropStorage • TJSONPropStorage • TIDEDialogLayoutStorage • TMRUManager • TStrHolder
LazControls TCheckBoxThemed • TDividerBevel • TExtendedNotebook • TListFilterEdit • TListViewFilterEdit • TLvlGraphControl • TShortPathEdit • TSpinEditEx • TFloatSpinEditEx • TTreeFilterEdit • TExtendedTabControl •
RTTI TTIEdit • TTIComboBox • TTIButton • TTICheckBox • TTILabel • TTIGroupBox • TTIRadioGroup • TTICheckGroup • TTICheckListBox • TTIListBox • TTIMemo • TTICalendar • TTIImage • TTIFloatSpinEdit • TTISpinEdit • TTITrackBar • TTIProgressBar • TTIMaskEdit • TTIColorButton • TMultiPropertyLink • TTIPropertyGrid • TTIGrid
SQLdb TSQLQuery • TSQLTransaction • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection • TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TMySQL57Connection • TSQLite3Connection • TIBConnection • TFBAdmin • TFBEventMonitor • TSQLDBLibraryLoader
Pascal Script TPSScript • TPSScriptDebugger • TPSDllPlugin • TPSImport_Classes • TPSImport_DateUtils • TPSImport_ComObj • TPSImport_DB • TPSImport_Forms • TPSImport_Controls • TPSImport_StdCtrls • TPSCustomPlugin
SynEdit TSynEdit • TSynCompletion • TSynAutoComplete • TSynMacroRecorder • TSynExporterHTML • TSynPluginSyncroEdit • TSynPasSyn • TSynFreePascalSyn • TSynCppSyn • TSynJavaSyn • TSynPerlSyn • TSynHTMLSyn • TSynXMLSyn • TSynLFMSyn • TSynDiffSyn • TSynUNIXShellScriptSyn • TSynCssSyn • TSynPHPSyn • TSynTeXSyn • TSynSQLSyn • TSynPythonSyn • TSynVBSyn • TSynAnySyn • TSynMultiSyn • TSynBatSyn • TSynIniSyn • TSynPoSyn
Chart TChart • TListChartSource • TRandomChartSource • TUserDefinedChartSource • TCalculatedChartSource • TDbChartSource • TChartToolset • TChartAxisTransformations • TChartStyles • TChartLegendPanel • TChartNavScrollBar • TChartNavPanel • TIntervalChartSource • TDateTimeIntervalChartSource • TChartListBox • TChartExtentLink • TChartImageList
IPro TIpFileDataProvider • TIpHtmlDataProvider • TIpHttpDataProvider • TIpHtmlPanel
Virtual Controls TVirtualDrawTree • TVirtualStringTree • TVTHeaderPopupMenu