I will soon be releasing TChromeTabs. It's a pretty exhaustive open source implementation of the tabs seen in Google's Chrome browser. So far it has been tested with Delphi 7 and XE2. Some of the features include:

I will soon be releasing TChromeTabs. It's a pretty exhaustive open source implementation of the tabs seen in Google's Chrome browser. So far it has been tested with Delphi 7 and XE2. Some of the features include:

- Fully configurable Look and Feel including gradients, transparencies and custom tab shapes
- Works on Vista glass
- Tab movement animation
- Tab transitional style effects (fade between colours and alpha levels)
- Drag and Drop within container and between containers
- Drag image displays tab and any TWinControl
- Smart tab resizing when user clicks close button
- Fluid tab resizing with minimum and maximum tab sizes
- Add tab button can be positioned on the left, right or floating right
- Full featured scrolling including auto scroll when dragging
- Smart tab content display hides/shows items depending on the tab width
- Owner draw any item
- Pinned tabs
- Modified tabs with animated glow
- Mouse over glow
- Lots of events
- Load/save look and feel and options to stream/file
- Generate look and feel/options Delphi code

Would anyone be interested in helping out with a bit of beta testing before the control goes public?

Comments

  1. Hi Baoquan. I actually started out with the intention of adding the features I needed to rkSmartTabs from rmklever.com. I soon realised that the current rkSmartTab design would not allow me to add the new features without a lot of hacking and decided to start from scratch with a new control designed from the ground up to fully implement all the features of Chrome's tabs.

    I also looked at http://sourceforge.net/projects/icetabset/ but decided not to try and extend it.

    ReplyDelete
  2. Paul Thornton Good. Looking forward to your announcement then. : )

    ReplyDelete
  3. Would be nice to see all these features implemented in the control.

    ReplyDelete
  4. +dmity - all the features listed above are already implemented. I'm just tidying up a few bits and pieces then its ready for beta.

    ReplyDelete
  5. ahmed eltayib Ahmed - Thanks for the reminder. I tend to forget bidi as I only use English :( I'm adding support for it now though :)

    ReplyDelete
  6. I am interested in helping test (XE3)

    ReplyDelete
  7. Another thing to test: How it looks through Remote Desktop.  We have some VCL that just renders as a black rectangle on RDS.  Not fun.

    ReplyDelete
  8. I think it has to do with alpha blending, but I am not certain.

    ReplyDelete
  9. Lars Fosdal Just tested with Remote Desktop and it works fine. I guess it should do as I use GDI+ for all the graphics. BTW Lars, are you in Norway? I'm English, but I live in Oslo :)

    ReplyDelete
  10. I've just posted the download link for TChromeTabs beta 1. You can find it here: 

    https://plus.google.com/110198603826897169317/posts/1XaMbgLmLMK

    Happy Testing :o)

    ReplyDelete
  11. Amazing! Tnx!
    I was looking this for my IDE)

    ReplyDelete
  12. where can i download the component ? where is the download link ? 

    thanks

    ReplyDelete
  13. Paul Thornton - I am indeed Norwegian, and situated 180km south of Oslo, at Stathelle.

    ReplyDelete
  14. I've just run the demo and TChromeTabs looks great. Thank you, Paul.

    Here's something I've been looking for --for the apps that would use TChromeTabs or similar GUI elements which let you select an option that causes a different form/panel comes up to the foreground.

    Personally, I don't like using TFrom descendants, so my choice is usually constrained to TPageControl (with the tabs disabled). But, what I'd really like is a tab/panel container that does what TPageControl (without the tabs) does.

    Does anyone know if there's a such a beast out there?

    ReplyDelete
  15. I get access violations running this on Windows 8, inside GDI+ functions. I think that some error checking, and additional GDI+ logic may be required to make this run on Win8/GDI. Note that the themes system is different in Win8 and there's no "glass" any more, although the dwm.exe and compositing features are still there inside Win8.

    ReplyDelete
  16. Adem Meda Nowadays I use DevExpress' TcxPageControl. Set HideTabs to True and disable NativeLookAndFeel. If you don't have the DevExpress components, you can use a TPageControl inside a TPanel. Set the properties of the PageControl as: Top := -3; Left := -3; Height := Panel.Height + 6; Width := Panel.Width + 6; HideTabs := TRUE; Anchors := [akLeft, akTop, akRight,akLeft]; - This will hide the tabs and the border of the page control. I can add a component to TChromeTabs that does exactly this if you like.

    ReplyDelete
  17. Paul,

    I do have DevExpress components, but I can't use them for opensource projects.

    The first one I had in mind was DelphiPI [ code.google.com/p/delphipi/ ] which uses child forms which I find confusing like hell :) to deal with independent forms when it all could be combined into one unit.

    About using TPageControl.. Well, manually altering it's position in a panel is of course one way of doing it, but it just doesn't feel elegant.

    I'd love to see a non-tabbed 'sheet container' (that doesn't descend from TPageControl) to use TChromeTabs --if you have the time and inclination, that is :)

    ReplyDelete
  18. Adem Meda I understand what you mean, but I think that using a TPageControl is a good start. It implements all the functionality you need. You simply need to hide the tabs and the border. I can knock something up that does the job and links directly into my tab control if you like.

    ReplyDelete
  19. There are any way of put TChomeTabs in NC area with vcl styles enabled?.

    ReplyDelete

Post a Comment