The Road to Delphi

Delphi – Free Pascal – Oxygene

VCL Styles Utils, Embarcadero Agreement and Delphi XE6


Embarcadero Agreement

As probably you know, a small part of the VCL Styles utils project was licensed to Embarcadero, via a non-exclusive proprietary license. This means which they can use, modify and distribute the code as part of the VCL, but the Copyright and the Open Source version of the project still belong us. So you can continue using this library in all the Delphi versions supported (XE2-XE6).

Delphi XE6

The VCL Styles utils was updated to support and avoid conflicts with Delphi XE6. Check the next image which show the Open Dialog styled using the New XE6 style Table Dark


Since now the main difference is that you can use the menu style hook which is included as part of the Delphi XE6 VCL Styles, or continue using the menu hook of the library, this is described in the Vcl.Styles.Utils.Menus unit.

{$DEFINE UseVCLStyleUtilsMenu}
{$IF CompilerVersion >= 27} // Use the XE6 menu syshooks by default
  {$UNDEF UseVCLStyleUtilsMenu} // comment this line if you want to use the VCL Styles Utils Menus Hooks instead

About the Styled Dialogs

Using the library is the only way to style the system dialogs, currently we support all the Common Dialog Box Types (Color, Find, Font, Open, Page Setup, Print, Replace, Save As).

Check the Common Dialogs styled using the Premium VCL Style Jet.


But not just the Common dialogs are styled, in fact any dialog (#32770 Class) which uses the windows common controls is supported (of course if the dialog had a owner draw control this cannot be styled). For an example take a look to the next images.

Prompt DataSource Dialog


Select User Dialog


Note: Some dialogs cannot be styled, because uses the undocumented DirectUIHWND control, these include the new (introduced in windows Vista) Open and Save As dialog and the Task Dialogs


Author: Rodrigo

Just another Delphi guy.

13 thoughts on “VCL Styles Utils, Embarcadero Agreement and Delphi XE6

  1. is it possible to apply these styles to the IDE itself?
    i mean is it possible to, say, write a package that applies some style to the IDE when it is installed?

    • Yes it possible, but the result is not perfect. You must overcome a couple of issues like no apply the style to the design time components and other tricky stuff.

      • i’m just thinking about whether it is now possible to change IDE look and feel if apply the style and use IDE theme editor for code editor colors. truly, i have no time to combine all of that but have to say that it would be extremely cool addon

  2. Hi Rodrigo !
    I’m enabling TeeChart controls to use your excelent library.
    Is there any “official” way to obtain font settings for an element? (Font.Name, Font.Size, font styles bold, italic, etc)
    I’m using GetStyleFontColor for colors, but can’t use or DrawText to obtain the other font properties.
    regards !

  3. Pingback: TeeChart and system Styles / Themes. (VCL and Firemonkey)

  4. Hi Rodrigo

    Embarcadero accepted version PopupMenu styles for XE6, sometime in January 2014, which was a mistake. You’ve fixed it sometime around March, but Embarcadero included the original wrong code into XE6. Licensing rules allow you to do this you need to repair or fix officially Embarcadero? Indeed Embarcadero releaser large UPDATE 1 without this style update :(

    Thank you

  5. Works fine, thank you very much!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s