Table of Contents
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
- MDI Reworked for HighDPI and VCL Styles support
- Child forms can now have a new modern flat border (the new property is TStyleManager.ChangeChildFormSystemBorder)
- MDI Child disabled border icons are not drawn
- The Parent property works for nesting any form in any other form, with full border management
- A significant MDI cleanup and improvements
- The brand new TFormsBar control
- The Auto Hiding of minimized child windows
- The IFormVisualManager Interface
- The VisualManager property of the TCustomForm class
- The updated MDI Wizard
- A new ShowInTaskbar property for TForm
- A new CreateScaledNew constructor in the TCustomForm class
The MDI app generated by the wizard
VCL foundations and designers
- TFont.Size property adapts to different DPIs: new TFont.IsDPIRelated, TFont.IsScreenFont, TFont.ChangeScale method, TFont.ScaleForDPI method
- A new String List editor
- A multiline string editor
- A Quick Panel configuration
- A Quick Radio Group configuration
- A Quick Button configuration
- The Control child enumerator accessible via GetControls method of the TControl class
- New MsgDlgIcons global variable
- New TDoubleBufferedMode enumerated type, new DoubleBufferedMode property of that type, and a new CanUseDoubleBuffering method for controls
- New TWinControl ChildHandlesNeeded method
- The VCL StyleAPI.inc file is now replaced by two specific and clean units: Vcl.StyleAPI.pas and Vcl.StyleBitmap.pas
- Additional image formats in TImage via Skia
The new string list editor
VCL Controls
- Tile View support to TListView (including new TileOptions and TileColumns properties)
- TGroupCollection now has two Items properties
- New ToolButton style: tbsWholeDropDown
- TNumberbox control has an additional “nbmInt64” mode accepting 64-bit numbers in input
- ActivityIndicator has support for custom color (IndicatorCustomColor property), new RotatingLines and Refresh predefined icons and more enhacements
- TControlList has new SelectedItemsCount and SmoothMouseWheelScrolling properties
- TControlList adds support for more element types such as TControlListCheckBox and TControlListRadioButton
- TWICImage and TImageCollection now have a Dormant() method to reduce GDI usage
- The new TSkLabel Skia-based component for VCL
- The new TSkPaintBox Skia-based component for VCL
- The new TSkAnimatedPaintBox Skia-based component for VCL
- The new TSkSvg Skia-based component for VCL
The new Activity Indicator predefined icons
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition
Hello Marco, is it in Delphi 12 possible to create an MDI type of application like for example google chrome or microsoft have it? Or it’s still late ’90 style…
You can try this https://github.com/norgepaul/TChromeTabs
Hello, I really would like to use new enhancements, but Delphi 12 for Win32 apps is still unusable – there is a showstopper bug https://quality.embarcadero.com/browse/RSP-43274 .
Hi Karel. I am pleased to say that the GetIt servers for RAD Studio / Delphi 12 have now been migrated and restored. You should find that there is a patch available which will resolve a number of reported issues.
Here’s the blog post about it: https://blogs.embarcadero.com/getit-update-additional-rad-studio-12-getit-packages-are-now-available/
In Delphi 12.2 you are updating MDI Forms. MDI Forms were said to be depreciated so I stopped using them years ago. Are MDI Form OK to use again for VCL Windows programming?
We did release improvements for MDI in 12.x – in fact an extensive reworking of how they work and behave. We were aware of several problems with Microsoft’s underlaying MDI technology and addressed many of those issues ourselves along with adding many enhancements and improvements. Note that it appears Microsoft considers MDI to be a deprecated feature – however, we continue to support it and went further than that to actually improve what we already had. In answer to your question, yes MDI is ok to use for Windows VCL programming.