From Clomosy Docs

AComponent : Specifies the parent of the object to be defined.

xName : The name of the defined page control should be written.

TclPageControl is a set of pages used to create a multi-page dialog box. It allows users to switch between multiple pages.

For example, it is used to create a multi-page dialog box or a tabbed notebook. TclPageControl displays multiple overlapping pages. The user selects a page by clicking on the page tab that appears at the top of the control.

Feature Use of Definition
TclPageControl PageControl1:TCLPageControl; A variable belonging to the TclPageControl class is created.
AddNewPageControl PageControl1= MyForm.AddNewPageControl(MyForm,'PageControl1'); A new TclPageControl component is added to the form.
TClPageControlContainer PageControlContainer1 : TClPageControlContainer; To create a new page, an object must be defined.
AddContainer PageControlContainer1 = PageControl1.AddContainer; A new page is created through the defined object belonging to the TClPageControlContainer class.
ActivePage PageControl1.ActivePage.Text = 'ACTİVE PAGE'; TCLPageControl object represents the page that comes active when created. It is used by accessing different properties such as the text property as shown in the example.
Pages PageControl1.Pages[1].Text = 'Registration page'; The TclPageControl object represents a collection containing all the pages created on it. This property is used to access a specific page or perform a certain operation on a page. In the example, the text of the second page is being changed.
Mode PageControl1.Tabsize.Mode = tsmAutoTabSize;//tsmAutoSize - tsmFixedSize - tsmFixedSizeAutoShrink - tsmAutoTabSize (default) The property controls how the size of the tabs will be determined. Here are the possible values and their descriptions:
tsmAutoSize: Tabs are automatically resized equally.
tsmFixedSize: The size of tabs is fixed, all tabs are of the same size. Left and right arrow buttons are provided for navigation between pages.
tsmFixedSizeAutoShrink: Tabs are automatically resized equally.
tsmAutoTabSize (default): The size of tabs is adjusted according to the text inside them. This mode considers the length of the text to determine the width of the tabs. Left and right arrow buttons are provided for navigation between pages.
Height PageControl1.Tabsize.Height = 200; Sets the height of the component's tabs.
Width PageControl1.Tabsize.Width = 200; Sets the width of the component's tabs.
spacing PageControl1.Tabsize.spacing = 2; Sets the spacing between the tabs of the component.
Position PageControl1.Layout.Position = 3; //0:Left,1:Top,2:bottom,3:Right Displays the tabs at the left, top, right or bottom position. In the example, the tabs are set to appear on the right.
Multiline PageControl1.Layout.Multiline = 2;//0:None,1:Unabled,2:UnabledActiveTab Displays the tabs on multiple lines instead of a single scrollable line.

Example 1


 var
   Form1:TCLForm;
   clPageControl:TCLPageControl;
   clPageControlContainer:TClPageControlContainer;
 {
   Form1 = TCLForm.Create(Self);
   
   clPageControl = Form1.AddNewPageControl(Form1,'clPageControl');
   clPageControl.Align = alClient;
   
   clPageControlContainer = clPageControl.AddContainer; // Creates a new page using clPageControl.
   clPageControlContainer = clPageControl.AddContainer;
   clPageControlContainer = clPageControl.AddContainer;
   
   Form1.Run;
 }


Output:
TclPageControl.png


Example 2


 var
   MyForm:TCLForm;
   clPageControl:TCLPageControl;
   clPageControlContainer:TClPageControlContainer;
   lblPage1,lblPage2,lblPage3,lblPage4 : TClProLabel;
 {
   MyForm = TCLForm.Create(Self);
   clPageControl = MyForm.AddNewPageControl(MyForm,'clPageControl');
   clPageControl.Align = alClient;
   clPageControl.Layout.Position = 1; 
   
   clPageControlContainer = clPageControl.AddContainer;
   clPageControlContainer = clPageControl.AddContainer;
   clPageControlContainer = clPageControl.AddContainer;
   clPageControl.TabSize.Margins.Top = 2;
   
   
   clPageControl.ActivePage.Text = 'ACTİVE PAGE';
   
   clPageControl.Pages[1].Text = 'Login Page';
   clPageControl.Pages[2].Text = 'Profile page';
   clPageControl.Pages[3].Text = 'Settings page';
   
   clPageControl.Tabsize.Mode = tsmAutoTabSize;
   clPageControl.Tabsize.spacing = 2;
   
   lblPage1 = MyForm.AddNewProLabel(clPageControl.PageContainers[0],'lblPage1','ACTİVE PAGE'); 
   lblPage1.Align = alCenter;
   lblPage1.Height = 100;
   lblPage1.Width = 150;
   
   lblPage2 = MyForm.AddNewProLabel(clPageControl.PageContainers[1],'lblPage2','Login Page'); 
   lblPage2.Align = alCenter;
   lblPage2.Height = 100;
   lblPage2.Width = 150;
   
   lblPage3 = MyForm.AddNewProLabel(clPageControl.PageContainers[2],'lblPage3','Profile page'); 
   lblPage3.Align = alCenter;
   lblPage3.Height = 100;
   lblPage3.Width = 150;
   
   lblPage4 = MyForm.AddNewProLabel(clPageControl.PageContainers[3],'lblPage4','Settings page'); 
   lblPage4.Align = alCenter;
   lblPage4.Height = 100;
   lblPage4.Width = 150;
   
   MyForm.Run;
 }

Output:
TclPageControlExampleScreen.png

See Also