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 {$IFEND}
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
Rodrigo.
April 22, 2014 at 6:59 am
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?
April 22, 2014 at 11:07 pm
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.
April 23, 2014 at 12:34 pm
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
April 23, 2014 at 12:43 pm
Michael, I’m already working on something similar to that :) . Stay tuned to the blog or my twitter account.
June 17, 2014 at 9:48 am
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 stylesapi.inc or DrawText to obtain the other font properties.
regards !
david
June 17, 2014 at 11:27 pm
Hi David, the VCL Styles uses as default the `Tahoma` font with a size of 8, Now regarding to your question all the fonts objects are accessible only via the classes defined in the StylesApi.inc or using a WinApi function like GetObject using the handle of the control.
Rodrigo.
June 18, 2014 at 2:12 am
Great, thanks! I’ll hardcode Tahoma 8 and if some day it changes then I’ll use LogFont. Its working now ! http://steema.com/wp/blog/2014/06/17/teechart-and-system-styles-themes-vcl-and-firemonkey/
Pingback: TeeChart and system Styles / Themes. (VCL and Firemonkey)
June 26, 2014 at 7:47 am
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
June 26, 2014 at 11:59 am
Hi, the code of the popup menu styles used by EMB is not updated as you said, EMB must fix their own version of the code. Anyway the VCL Styles Utils project can be still used as replacement of the RAD Studio version on XE6.
June 26, 2014 at 2:36 pm
Dear Rodrigo, thank you for your reply.
And please, how I get out XE6 enhacenment and replace it your popup style?
Regards
June 26, 2014 at 3:30 pm
You must Include the Vcl.Styles.Utils.Menus unit in your project and comment the line (27) {$UNDEF UseVCLStyleUtilsMenu}
July 10, 2014 at 1:58 am
Works fine, thank you very much!