Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!

3 x 12 VCL Enhancements in Delphi 12

01 vcl enhancements in delphi

12 times 12 new features in Delphi 12

RAD Studio 12 includes some great improvements for C++Builder and the launch webinar and other online content highlights it. However, it is also a fantastic release for Delphi developers. Someone commented, it looks like there is little for VCL. That’s not true. I don’t remember a new release with so many new VCL features. So I started listing them and got 36 bullet points (in this blog post), including some very significant changes and a few minor, but still relevant, improvements. Plus many FireMonkey ones. And dozens of other improvements in the RTL, the Delphi language, the IDE, the installer, the internet libraries. I compiled a dozen improvements for each of these areas.

In the end, I compiled 12 lists with 12 improvements each for Delphi 12. So this is not a list of 12 improvements for Delphi 12. It’s a list of 12×12=144 improvements, plus half a dozen for native Windows bringing the total to a whopping 150 – excluding all the existing improvements for C++Builder, as here I want to underline the Delphi side (but most of the features below are in fact for both languages).

Ready? This is the first blog post of my 12×12 features for Delphi 12 list, with 3 lists. These 36 are all VCL improvements. All of these equally apply to C++Builder 12 and RAD Studio 12. Stay tuned for more blog posts.

In VCL: MDI and Forms management

  1. MDI Reworked for HighDPI and VCL Styles support
  2. Child forms can now have a new modern flat border (the new property is TStyleManager.ChangeChildFormSystemBorder)
  3. MDI Child disabled border icons are not drawn
  4. The Parent property works for nesting any form in any other form, with full border management
  5. A significant MDI cleanup and improvements
  6. The brand new TFormsBar control
  7. The Auto Hiding of minimized child windows
  8. The IFormVisualManager Interface 
  9. The VisualManager property of the TCustomForm class
  10. The updated MDI Wizard
  11. A new ShowInTaskbar property for TForm
  12. A new CreateScaledNew constructor in the TCustomForm class


The MDI app generated by the wizard

144 mdi

VCL foundations and designers

  1. TFont.Size property adapts to different DPIs: new TFont.IsDPIRelated, TFont.IsScreenFont, TFont.ChangeScale method, TFont.ScaleForDPI method 
  2. A new String List editor
  3. A multiline string editor
  4. A Quick Panel configuration
  5. A Quick Radio Group configuration
  6. A Quick Button configuration
  7. The Control child enumerator accessible via GetControls method of the TControl class
  8. New MsgDlgIcons global variable
  9. New TDoubleBufferedMode enumerated type, new DoubleBufferedMode property of that type, and a new CanUseDoubleBuffering method for controls
  10. New TWinControl ChildHandlesNeeded method
  11. The VCL StyleAPI.inc file is now replaced by two specific and clean units: Vcl.StyleAPI.pas and Vcl.StyleBitmap.pas
  12. Additional image formats in TImage via Skia


The new string list editor

144 listeditor


VCL Controls

  1. Tile View support to TListView (including new TileOptions and TileColumns properties)
  2. TGroupCollection now has two Items properties
  3. New ToolButton style: tbsWholeDropDown
  4. TNumberbox control has an additional “nbmInt64” mode accepting 64-bit numbers in input
  5. ActivityIndicator has support for custom color (IndicatorCustomColor property), new RotatingLines and Refresh predefined icons and more enhacements 
  6. TControlList has new SelectedItemsCount and SmoothMouseWheelScrolling properties
  7. TControlList adds support for more element types such as TControlListCheckBox and TControlListRadioButton 
  8. TWICImage and TImageCollection now have a Dormant() method to reduce GDI usage
  9. The new TSkLabel Skia-based component for VCL
  10. The new TSkPaintBox Skia-based component for VCL
  11. The new TSkAnimatedPaintBox Skia-based component for VCL
  12. The new TSkSvg Skia-based component for VCL


The new Activity Indicator predefined icons

144 activity


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

About author

Marco is one of the RAD Studio Product Managers, focused on Delphi. He's the best selling author of over 20 books on Delphi.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.