VCL Style Enhancements since XE2

Posted by on in Blogs
Since introducing VCL application styling in XE2, we have added a list of enhancements to VCL styles. In this post, I am going to highlight some of the key enhancements we have made to VCL styles over the last several product releases. All the features listed below are part of RAD Studio XE7.


The TControl.StyleElements property allows you to adjust the style on each control.

Style Hook Technology

A style hook is a class that provides custom message handling for your custom control and enables the customization of menus such Main Menu, Popup and System Menu. If you have a custom control that needs special visual processing, you can create a style hook class that processes messages by inheriting from Vcl.Themes.TStyleHook.
You can use the Vcl.Themes.TStyleManager class to load, register, and select styles or to get, register, and unregister a style engine.

For example, we added a hook class for popup menus:
TCustomStyleEngine.RegisterSysStyleHook('#32768', TSysPopupStyleHook);

Menu Styling including Popup Menus

All the VCL styles have been extended to support TMainMenu, TPopupMenu and System Menu styling.

TMediaPlayer Styling

The VCL styles included with XE7 and the premium VCL styles (part of our bonus pack) have been updated to include matching styling for the VCL TMediaPlayer controls. This means that the play, pause and stop controls now have the same theme as the rest of the styled VCL application.

New Styles

We have added many new styles since first introducing VCL styles in XE2. This includes Windows 8 Modern UI styles, new light and dark styles and also touch friendly styles such as the TabletDark style for running your VCL apps on Windows based tablets like the Samsung Slate and Microsoft Surface Pro 3. We also have a set of premium styles available as part of our bonus pack offering.

Gold User, Rank: 5, Points: 558
Senior Product Manager, RAD Studio


Check out more tips and tricks in this development video: