Автор: John Kouraklis
Репозиторий: https://github.com/jkour/neTabControl
Альтернативый TTabContol
neTabControl is a FireMonkey control for Delphi. It builds on the native TabControl and adds a number of features.
Video Demonstration
Follow this link for a quick demo: neTabControl Video
Design
The control uses three elements:
A Tag
A TneTabItem: A subclass of TTabItem
A Frame
The neTabControl holds several TabItems, which all inherit from TneTabItem and shows a TFrame for each TneTabItem.
For more details about the Architecture of neTabControl, check the wiki.
How To Use
Build and install the package: Open the Package file and install the component. Then you can drag and drop it in any forms
Note: The actual components of each tab need to be embedded in a Frame and then attached to the tabControl
FMX Style
Starting from version 1.0.0 neTabControl doesn't use styles to embed the close image.
Highlights
Tab items are linked to tags instead of indices. For example you can write: SetActiveTab("Welcome Screen") or DeleteTab('Report Summary')
TabItems have close icon
TabItems can embed any control that descends from TControl (eg, image, progress bar, etc.) [v.1.0.0]
Ability to add controls before or after the tab items (eg. Add button, etc.) [v.1.0.0]
Style-indenendent tab item control. You can use any pre-existing style file without any customisation. neTabControl embeds the close image and the other control automatically [v.1.0.0]
Customisable Pop-up menu
Procedure to export the list of open tabs in order to implement load/save workspace feature
Platforms
This is a FireMonkey component. It should work on any platform but I have tested only on Win32, Win64 and MacOSX.
Documentation
There is documentation about the classes, the methods and properties. Please check the "Documentation" folder.
Known Issues
Check the wiki here.
Bugs, Suggestions, Comments and General Contact
I hope you find the component useful. If you have any comments or ideas, have spotted any bugs or have any suggestions about changes to the code use the "Issues" tab on github or drop me an email at j_kour@hotmail.com
Thanks!
John