High DPI Strategy when using Telerik Controls on standard Form (not RadForm)

4 posts, 0 answers
  1. erwin
    erwin avatar
    381 posts
    Member since:
    Dec 2006

    Posted 01 Oct Link to this post

    Hi, according to docs, High DPI for RadControls should run smoothly when the controls are placed on a RadForm.

    Whats the strategy if the application uses standard Dialogs (not based on RadForm)?

    Per Monitor DPI awareness assuming running on newest Win10 Update and .net 4.7?

    Regards

    Erwin

  2. Hristo
    Admin
    Hristo avatar
    1028 posts

    Posted 02 Oct Link to this post

    Hello Erwin,

    Thank you for writing.

    If you are using standard forms the Telerik controls will not scale when the application is run on a system with an increased DPI. Some elements which are hosting standard WinForms controls might scale if your application is declared as DPI-aware. In order to benefit completely from the new functionality, you will need to use RadForm. True scaling depending on the DPI would require changing the sizes of your forms. In the RadFormControlBase class, we have an implementation which will call the Control.Scale method with the calculated scale factors. This call cannot be performed from within the framework on standard forms.

    I am attaching two screenshots showing a standard and a Telerik form on a system with an increased DPI. As you can see the standard form has not scaled hence the Telerik controls on it are not scaled too. The RadForm, on the other hand, has calculated the required scaling and has applied it to any RadControls added to it.

    In case you need to to use standard forms, you will need to handle all of the scaling manually. This can be accomplished by following the approach demonstrated here: WinForms Scaling at Large DPI Settings–Is It Even Possible?

    I hope this information was useful. Please let me know if you have other questions.

    Regards,
    Hristo
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
  3. erwin
    erwin avatar
    381 posts
    Member since:
    Dec 2006

    Posted 02 Oct in reply to Hristo Link to this post

    Hi Hristo,

    Thanks for the info.

    Is there a way I could use RadForm without any styling of the NonClient Area?

    I don't mind using RadForm but I prefer my dialogs to have the native look and feel of the operating system.

    Also, I haven't found any concise documentation on how to write an application so that it can use the new dpi features when running on .net 4.7 / Windows 10 and gracefully fall back on older versions of .net / Windows.

    Would be great if telerik could provide some more info on how to do stuff like that.

    At the moment the available info is scattered in multiple places and in some parts inconsistent as it does not take into account the newest features of .net 4.7 and Windows 10.

    Regards

    Erwin

  4. Hristo
    Admin
    Hristo avatar
    1028 posts

    Posted 03 Oct Link to this post

    Hello Erwin,

    Thank you for writing back.

    The High-DPI support built-in our framework supports .NET 2.0 and in order to use it, you only need to declare your application as DPI-aware. The built-in Microsoft support for the standard controls was introduced with .NET 4.7 and for applications targeting Windows 10. If you are using the manifest file to make our controls dpi-aware please note that you can list the supported OS versions. The target framework is irrelevant as even .NET 2.0 is supported.

    We are also aware that currently, the available information is scarce and in some cases, it may be confusing. The DPI support is handled differently on the different operating systems and .NET frameworks. For example, at the moment there is no reliable API to provide information if your application is indeed marked as DPI-aware or not for some of the operating systems. We are in contact with Microsoft for sorting these questions and providing a better user experience.

    Regarding styling of the non-client area, it cannot be completely disabled. The AlloTheming property can be set to false which will force the standard title bar to be used but only on Windows Vista.

    I hope this information is useful. Please let me know if you have other questions.

    Regards,
    Hristo
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Back to Top