Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tabbed document interface in Delphi

I'm considering different user interface layouts for my next project and I was wondering if there are either integrated or 3rd party frameworks which allow me to create tabbed document interface?

To clarify, what I want is not some kind of docking mechanism or either an MDI interface but primarily a framework which allows me to have one main form and one or more secondary forms which will be shown as tabs inside the main form.

Though I said I don't want any kind of docking mechanism, I made a small test application that actually uses it. The result I got is very close to what I want. First, I miss some features like the close button on each tab. Second, I'd have to create some kind of framework of my own in order to automate all tasks, like creating and destroying the tabs, associating each new form with its tab, freeing the form when the associated tab is closed and so on. I'm not saying I can't do it but I'd like to know if there are any ready-made frameworks which already have all these features. Though I'd prefer an open source solution, a commercial one is also welcome.

like image 944
LightBulb Avatar asked Jan 16 '11 02:01

LightBulb


2 Answers

Third-party components are not mandatory here.

You can use standard Delphi controls to obtain what you want:

  • Put a TPageControl on your form (from Win32 tab);
  • Set its Align property to alClient;
  • Right click on the control, then select "New page" to add a new page.

Then don't write your "tabbed" interface on forms, but on frames.

You can also create pages by code, displaying the frame inside each page.

like image 110
Arnaud Bouchez Avatar answered Oct 02 '22 09:10

Arnaud Bouchez


I don't think there is any framework for tabbed interface, but for nice looking tab/page controls with close buttons on each tab, please check the following:

  1. rkSmartTabs, it simulates Google Chrome browser's tabbed UI. and it's open source.
  2. TAdvOfficePager, MS Office style.

Hope it helps.

like image 33
Edwin Yip Avatar answered Oct 02 '22 08:10

Edwin Yip