Dragable page TABS for Delphi 5's File Editor

Posted on 2009-02-20
Last Modified: 2013-11-23
I am still using Delphi 5 - a great tool!
But, one thing that has always irritated me is the inability to drag open file tabs around with the mouse to change their order.

Currently, if I want to change the order of my open files I have to close and re-open them in the required order.

I know that the IDE is very customizable so can any Delphi expert make a plug-in for Delphi 5 that will provide this functionality?  
Presumably later version (like 6 or 7) have this already.

Thanks in advance
Question by:WinRat
    LVL 19

    Expert Comment

    I'm fairly sure that either GExperts or CNPack can do this, give it a try: and

    Author Comment

    Hi MerijnB:

    GExperts doesn't do so. I have used it for years, and just tested it again now. It does have some Editor window enhancements (buttons for tabs) but not what I want. I am using (I think) the latest version for Delphi 5 = 1.22. Maybe GExperts for  versions of Delphi from 6 up) have this feature.
    Any comments from programmers using D6 or D7?

    Will look at CNPack - don't know it.
    I suppose it depends on what the editor window is made from. It could be something custom and that functionality hasn't been published (if it exists that is).

    If I may say something off the topic (of this question):
    You answered one of my other questions:  List all physical hard drives showing manufacturer, model etc

    The dll you provided has bugs. Please could you refer to that question & let me know if you are still going to look at that - or if I can close the question as unanswered?



    Author Comment

    Hi MerijnB:

    I looked at the CNPack website.
    They also have the CnWizards pack which lists:
         * TabOrder Wizard
    amongst its functions.

    Therefore it looks like this might do what I want.
    Am downloading both packs (15 Mb)) on a slow DU connection. Hope I can get them the first time - normally big downloads crash!



    Author Comment

    Hi MerijnB:

    Finally got CnWizards downloaded and installed.
    It sure has a lot of stuff!
    Unfortunately the TabOrder Wizard wasn't for the file tabs but for setting the tab order of components.

    I looked through the various Wizards, esp the Editor Enhancements. It does allow some customizing of the Tabset - but not to enable re-ordering them by dragging.

    Can you tell me whether D7 or higher has this feature?

    I suppose the Delphi 5 editor window is based on either a TTabControl or a TPageControl and both are decended from a TcustomTabControl - do you know how to find out? Since the source for both is in Comctrls, they are probably based on a Windows common control. I looked at the help and there is no indication whether TcustomTabControl has a feature like Tabset re-ordering.

    Now whether the relevant Windows controls in XP have dragable tabs I don't know - and have no idea how to find out since I don't use Visual C. If they do then perhaps its possible to make that feature "surface" in Delphi 5.

    I have TurboPower Orpheus and I think that has its own PageControls. I will see if they support this feature. I know modern apps that I use do allow one to do this (e.g. Total Commander. Now that I think of it I believe the author writes in Delphi so will ask him)

    Another possibility might be to replace the Editor window completely with a different custom class that does have this feature. But whether that's possible and how to do it is beyond me.

    Where are all the other Delphi experts? Can anyone else shed some light on this? Plenty of points here for an expert in Delphi customization!

    LVL 19

    Accepted Solution

    Hi WinRat,

    I give you very little change that somebody can implement this in D5 if it's not in one of these tools.
    As far as I know this feature is available from Delphi 6 and up.

    Author Comment

    Hi MerijnB:,

    I checked Orpheus and its Notebook class doesn't support tab re-ordering.
    I can get hold of a copy of D7 tomorrow to try and see if it supports the above.
    My work also have an unused copy of D6 somewhere so I'll check that too.

    It looks like if I want that feature I should either upgrade to a later version of Delphi or if the relevant Widows controls support it then maybe learn how to customize Delphi myself. But I'm not a low-level kind of programmer so...
    (I have a reference book from D2 days = Delphi 2 Developers Guide, that I think goes into this).

    My question was:
    I know that the IDE is very customizable so can any Delphi expert make a plug-in for Delphi 5 that will provide this functionality?  

    Its looking like I will not get it answered so you may be right!


    Author Comment

    A bit more progress if anyone's following this apart from MerijnB
    I found my old D6 CD at work. I remembered now that we bought it way back but I had heard that D6 had some problems, so since D5 worked well for me, I decided not to rock the boat and use it. Anyway I installed it today but was unable to connect to the registration server at Borland. Maybe it is no longer operational. I am not sure if it will expire without being registered.

    Anyway, D6 does in fact have the behaviour I was looking for1 You can drag the tabs around in the edit windw. I got hold of WinSpy and found out that both D5 & D6 use a TXTabControl  for the tabs. But obviously there is a difference between the D5 & 6 versions.
    (interestingly: the TpageControl in Delphi doesn not have dragable tabs)

    I have the pro version so searched the source for this control - but it isn't there, so I can't see how they did it. I did find references to it  in the following BPL's in the BIN folder: coride50.bpl, proide50.bpl and vclide50.bpl.

    Well this is all interesting but doesn't really help me much. So I guess I should now put this question to sleep tomorrow morning when I get to work. I will start converting some of my apps to D6 and see how it goes. First impressions seem to indicate there aren't many differences beweeen D5 and 6, so it might be trivial. My progams don't use any advanced features.
    MerijnB: Can you comment about D6? Did you have any problems with it? I think I will give you the points tomorrow since you did say D6 should have what I wanted and gave me the impetus to install it.
    I am quite disappointed at the lack of interest - maybe because its such an old Delphi version that no-one else was interested or did the problem seem too trivial to bother with!
    LVL 19

    Expert Comment

    > MerijnB: Can you comment about D6? Did you have any problems with it?
    I can't recall having major problems with it, I must say I upgraded to D7 when it came out and used that much longer.

    > I am quite disappointed at the lack of interest

    It's atm very quiet here, I don't know why. Gives me change to catch up a little in the points section ... :)

    Author Closing Comment

    Ok, I never got exactly what I wanted i.e. Draggable tabs in the Delphi 5 Edit Window. However Delphi 6 does have that and I have a legal copy so that was a solution. Since you gave me the idea you get the points. I will still pursue this in other question forums and by more googling, mainly out of technical interest as to how to do it.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    6 Surprising Benefits of Threat Intelligence

    All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

    Programmer's Notepad is, one of the best free text editing tools available, simply because the developers appear to have second-guessed every weird problem or issue a programmer is likely to run into. One of these problems is selecting and deletiā€¦
    Jaspersoft Studio is a plugin for Eclipse that lets you create reports from a datasource.  In this article, we'll go over creating a report from a default template and setting up a datasource that connects to your database.
    THe viewer will learn how to use NetBeans IDE 8.0 for Windows to perform CRUD operations on a MySql database.
    The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

    758 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    14 Experts available now in Live!

    Get 1:1 Help Now