FNC Ribbon HDPI support

How to enable HDPI support on Ribbon?

On HDPI screeen button text and File tab text are no scaled properly.

The same goes for the Bitmaps.



Another problem is that the usual Windows keys (WIN-Left, etc) are no longer usable - annoying :-(



I have already reported this a few months ago.

The answer was merely that this would be a "technical" limitation of the component.



Sorry, this does not interest the user, he just wants the program to behave like everyone else!



This component does not make sense at the moment and I have removed it from two active projects.

I'm thinking of phasing out the maintenance contract.


Yeah the VCL version of the component does that. I do not know what is TMS plan for High DPI support for their components. I am pretty sure it will involve a lot of work.  

Tried the FMX version and it looks fine. Did not try farther than the default project.
Found the problem on my part. I do not know if you use RIO, by working with the demo ribbon program, founded out that by default, in the manifest, the DPI Awareness is at None. At None, the text in the File button is showing correctly on an 4k HDPI. At least on mine.

I do not know if Bruno read these posts but I would like to see if he can confirm with his dev about this. 

Also, is there any help (blog or .PDF) for us developers to build Low DPI and HDPI in the same program? Or any plan to use the new RIO container for picture scaling?

The problem is that both Microsoft and Embarcadero introduced a lot of changes for High DPI support last year. Delphi Rio offers support for different image lists that can be loaded depending which Zoom factor is used. 


With regard how to find out if High DPI is used you need to read the DPI rate of the displays (Delphi RTL has classes for that: TMonitor, TScreen) and then use the correct image resources. It is a lot of development work as you need to provide any image at any possible resolution. E.g. if you have a 16x16 pixel image, you will need to provide it for 32x32 as well for 200% displays.

TMS is updating the VCL components right now with high priority as Embarcadero delivered the base for this with Delphi Rio.

As FNC supports multiple frameworks and multiple platforms, you will have to use BitmapContainers for your images and load the correct ones with regard to the resolution used.

In order to find out your display dimensions and reolutions, use this code snippet: https://flixengineering.com/archives/1035

To fix your issue for the time being, please set DPI Awareness in the Manifest to 'None' as shown in the Ribbon demo.

About a year later, I take the liberty of inquiring about the state of High DPI support.
If I read it correctly, nothing has been done on this component since version v2.1.2.2.
Is this a sign that it should not be used anymore and/or is replaced by another component?

Hi,


We had other priorities on our todolist, as soon as those are finished up, we'll take a look at how we can implement High DPI support throughout FNC controls.

In general I notice a lot of warnings and error messages in the different log files, which does not indicate a stable code base. So it would be nice if not only new features would be implemented but also existing bugs would be eliminated. My customers demand this from me as well ;-)

(The ribbon component e.g. also has problems under HD resolution if the scaling is larger than 100% and I don't use it anymore for new projects)

Is at least a time horizon known when this will happen?

I can assure you that the codebase is stable, can you point out exactly which warnings? About high DPI support: there is currently no timeframe as there is a lot to discuss internally and a lot to do as well. We can’t make any promises, but we can say that it’s on our list.