My team is currently thinking of porting our existing MDI-based application to a more modern docking-based approach. We are still thinking, but we would like to move it to something like a docking VS2010 and a visual view:

It has the following functions:
- Shows a mixed layout in which the window will dock.
- Tabbed docks as well as side by side
- Allows docking by dragging and dropping an image displaying the position of the dock (I call this the “dock widget” below)
- It looks good (theme / user interface)
I'm having trouble finding a high-quality docking library for use with RAD Studio 2010, and I'm looking for advice on either what I didn't find in the library, or on how to use the ones I found something like that.
- Update 2, July 2011 . This question examined every dock library available for Delphi / C ++ Builder, so I try to keep it up to date. Two changes that I know of:
- SmartBear, which now has AutomatedQA, has a complete AutomatedQA docking library . This is the one I recommended buying. They are considering open access to it.
- The only problem I encountered with the DevExpress docking station (which made it unworthy) was the lack of support for the VS2008 / 10-style docking station with dock widgets, transparent overlay when dragging and dropping, etc. They are now implementing it . Because of this, and since AQDocking is no longer for sale, if I asked this question, now my accepted answer would be to buy DevExpress Docking .
I found the following libraries. Here is an overview:
Integrated VCL Docking
This allows the forms to dock with other forms or TWinControls, but seems to be fairly simple. Drag and drop forms using the colorized XOR scheme, which works very poorly on Vista and Win7. There is a TTabDockSet control for docked form tabs, but I cannot figure out how to control how docked header forms are formed after docking. I think side-by-side docking should be done manually, creating new dock panels on the fly. The docking windows of the RAD Studio IDE are slightly weaker than this (transparent rectangles when dragging and dropping shapes, for example), which is odd since I thought it used VCL docking support.
It looks a little more worthy of the solution, which is the integrated VCL dock. It supports docking with any edge or client and shows a rectangle with the alphabet in which the shape will be docked.

It seems like it's quite difficult (dropping the second form over the first is allowed, but freezes the program) and does not have built-in support for tabbed support or any kind of drop-location widget.
This looks promising: while it does not seem to have immediate dock forms, docking panels are installed on it, and controls / frames are installed on them. Existing forms can be transferred to frames. It also has a dock widget and tabbed tab support.
However, the demonstration seems rather unreliable. I have the latest evaluation version installed and creating a new project with a dock site and several panels, and clicking Run causes the following:

This is a failure in the flow of form components. Visual analysis of the DFM file does not show anything bad, but there is an opaque binary drop for layout information that can cause it. This is not particularly encouraging in the evaluation version.
I had high hopes for this: I had never used any DevExpress controls before, but they have a good reputation. But their demo program was really disappointing:

The control is flickering and doesn't seem to work very well with Windows, even using the XP style. It has a docking interface, but uses the XOR-ed scheme - something that works poorly on XP or Vista. It also has no widgets. Honestly, it seems like it has not been updated since Windows XP. Update July 2011: This is improved .
This is the most promising of all libraries.

I regularly use AQTime , a great profiler that seems to be written using its own docking library, and it works well. However, the latest version of the trial download of the library for the dock for RAD Studio 2009, and the advice given for installation in 2010, is that it is not supported, and you must recompile the source code. The demonstration does not come with the source, and we do not have RS2009, and the installer refuses to install if we do not do this, and even if we managed to install it, we will not be able to use it, since we will need to recompile the nonexistent source.
I contacted my support team and they pointed me to this thread . I also found another chain with customers who ask for almost the same thing . I answered and hope to hear the best news. I do not recommend buying a product that I cannot evaluate, especially if it is not supported for our development environment.
Update: I purchased this library. Despite the problems associated with the evaluation (it works in D2007, and I had a copy of it), it seems the easiest way to use all the libraries, as well as the most powerful ones - for example, it's easy to write a theme for it. I would definitely recommend it if you need to also select the dock library.
July 2011 Update: This library is no longer for sale, but may be open soon .
What did I miss?
That is all I have found so far. Now what?
- Did I miss any good docking libraries for Delphi / C ++ Builder / RAD Studio 2010?
- Did I miss any features in the libraries that I have looked at so far? An answer like “You missed FooBar” or “The JVCL really has a dock widget and you can use it like that ...” would be pretty surprising to hear.
- What would you recommend as the next step?
Thanks for your input :)