TabChanging happens just before a tab is displayed
Member of Tab Folder (PRIM_TAB)
Name | Type | Data Type | Description |
---|---|---|---|
OpenPage | *Input | PRIM_TBSH | OpenPage is the tab sheet currently open |
OpeningPage | *Input | PRIM_TBSH | Reference to the opening page |
CanChangePage | *Both | Boolean | Set to false to prevent the change of page |
The TabChanging event is fired the user clicks on a different tab. The CanChangePage property can be used to prevent a change of tab sheet. This only applies to tabs in the Center DockPosition.
In this example, the caption of the opening page is shown in the form caption. The user is prevented from ever turning to Page2.
Begin_Com Role(*EXTENDS #PRIM_FORM) Caption('Docking Framework Sample') Clientheight(454) Clientwidth(912) Height(493) Left(188) Top(205) Width(928) Layoutmanager(#TableLayout1) Define_Com Class(#PRIM_TBLO) Name(#TableLayout1) Define_Com Class(#PRIM_TBLO.Column) Name(#Column1) Displayposition(1) Parent(#TableLayout1) Define_Com Class(#PRIM_TBLO.Row) Name(#Row1) Displayposition(1) Parent(#TableLayout1) Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem1) Column(#Column1) Manage(#Tab1) Parent(#TableLayout1) Row(#Row1) Define_Com Class(#PRIM_TAB) Name(#Tab1) Bottomlayoutpriority(4) Componentversion(2) Displayposition(1) Height(454) Left(0) Leftlayoutpriority(1) Parent(#COM_OWNER) Rightlayoutpriority(2) Tabposition(1) Top(0) Toplayoutpriority(3) Width(912) Define_Com Class(#PRIM_TBSH) Name(#Sheet1) Caption('Page1') Displayposition(1) Height(430) Left(0) Parent(#Tab1) Tabposition(1) Tabstop(False) Top(24) Width(912) Define_Com Class(#PRIM_TBSH) Name(#Sheet2) Caption('Page2') Displayposition(2) Height(430) Left(0) Parent(#Tab1) Tabposition(2) Tabstop(False) Top(24) Width(912) Define_Com Class(#PRIM_TBSH) Name(#Sheet3) Caption('Page3') Displayposition(3) Height(430) Left(0) Parent(#Tab1) Tabposition(3) Tabstop(False) Top(24) Width(912) Evtroutine Handling(#Tab1.TabChanging) Openingpage(#OpeningPage) Canchangepage(#CanChangePage) #com_owner.Caption := #OpeningPage.caption #CanChangePage := (#OpeningPage *IsNotEqualTo #Sheet2) Endroutine End_Com
Febuary 18 V14SP2