Charlie Heaps 2 Posted October 19, 2020 Hi all! I am trying to update an older Delphi desktop/VCL/Windows application to use High DPI and themes, but my head is spinning trying to understand all the pieces of the puzzle. I currently use quite a few different components in the app, including Raize/Konopka VCL controls, TMS grid components, TeeChart, MapWinGIS ActiveX mapping controls and others. I also use the Toolbar 2000 controls for menus, toolbars and popups. I would like to rationalize things, replace Toolbar 20000, and am considering replacing the menus/toolbars with Ribbon controls. I've been looking at both the Developer Express and TMS menus and ribbon controls as well as the built in Delphi menus/toolbars, but I am confused about how/whether the pieces fit together. The Developer Express and TMS controls seem very well put together but they don't seem to work with Delphi's own VCL styles (Update TMS says its controls DO also support Delphi styles). The Raize components seem to work with VCL styles but are not high DPI aware (yet - not clear if Embarcadero is dropping them). I am not clear if the separate styles implemented in the Developer Express and TMS controls can be integrated with the Delphi VCL styles (e.g. I would not want users to deal with all this complexity). Can someone offer some advice on how to move forward or offer pointers to some online resources? Thanks in advance for any thoughts and advice! Share this post Link to post
Bill Meyer 337 Posted October 19, 2020 You can use the components together, and you can develop comparable styles, but the style classes in different component packages -- and in Delphi -- are different to one another. Share this post Link to post
Dave Novo 51 Posted October 19, 2020 Developer Express styles are a whole different beast. They wrote them before Delphi had their own styling engine. AFAIK Dev Ex has no intention of supporting VCL styles. That info was from a few years ago, and things may have changed. Share this post Link to post
Stano 143 Posted October 20, 2020 (edited) Update TMS says its controls DO also support Delphi styles It is true. It works. The problem with TMS is that they have different types of VCLs. That's why I wrote method. Edited October 20, 2020 by Stano Share this post Link to post
Erwin Mouthaan 7 Posted October 20, 2020 StyleControls VCL from Almediadev comes with special adapter unit to use VCL Styles with DevExpress controls. Share this post Link to post
Charlie Heaps 2 Posted October 20, 2020 Thanks everyone - this is very helpful! Share this post Link to post
Guest Posted October 21, 2020 18 hours ago, Erwin Mouthaan said: StyleControls VCL from Almediadev comes with special adapter unit to use VCL Styles with DevExpress controls. Not to discredit Almediadev, from what i have seen it seems to be a brilliant lib, but the cross-styles setup does not (to my current knowledge) support the DX Ribbon, it focuses on the QuantumGrid. This may have changed since i last checked. The DX Ribbon, specifically, is not so bad. It is a complex control that is based on their BarManager. This makes "links" and stuff have a lot of "obsolete" properties, increases the learning curve. Also links between bars items and ribbon groups (or bars and groups - cannot check now) uses collections so visual inheritance will not play well. Also since Tokyo you have to make sure the IDE do not use the skins or you will need some impressive metal* to be able to work with complex dfm's. Otherwise - you can save a LOT of time using DX if it fits your needs. A LOT. * The newest IDEs require impressive metal anyways, methinks. Share this post Link to post
RaelB 4 Posted November 2, 2020 There is an enhanced version of Toolbar 2000 called SpTBXLib. see https://github.com/SilverpointDev/sptbxlib It is actually quite a good option, since it supports VCL Styles, and is High DPI aware. It has been used in PyScripter (https://github.com/pyscripter/pyscripter ) And the author has worked on adding these features (i.e. to be High DPI aware), so I recommend that you check it out. Dev Express has it's own skin system that does not work with the VCL styles. So if your app is using a whole range of components, it is probably a good idea not to use their Toolbar/Ribbon system. Only use individual controls you may need, and you can manually select specific styles that would match VCL Styles, if neccessary. I would suggest for you to first upgrade your project to recent version of Delphi, using SpTBXLib and support high DPI, since that is a fair amount of work in itself. Once your app is up and running, then you could decide on replacing various components if necessary. Share this post Link to post
Charlie Heaps 2 Posted November 2, 2020 (edited) Thanks Rael - this is really helpful - I will check it out! Edited November 2, 2020 by Charlie Heaps Share this post Link to post