[Lazarus] LCL High-DPI
Donald Ziesig
donald at ziesig.org
Tue Feb 21 16:40:02 CET 2017
Hi Ondrej!
Your work has made a major improvement in Lazarus. It is much more
enjoyable to use. I have converted my most recent major APP using it
and it was mostly straight forward.
I will continue using it and report back to you as my work permits.
Thank you,
Don Ziesig
On 02/20/2017 11:46 AM, Ondrej Pokorny via Lazarus wrote:
> I'd like to announce that I finished the concept of DPI scaling in
> Lazarus / LCL.
>
> It's quite easy for the programmer. Documented here:
> http://wiki.lazarus.freepascal.org/High_DPI (details are in "High DPI
> in Lazarus 1.7 and above").
>
> 1.) I made the Lazarus IDE High-DPI aware - the IDE itself and its
> windows should scale correctly.
>
> 2.) To make your own application use the new LCL scaling and to make
> sure your layouts don't get destroyed, do the following:
>
> a.) Make sure you don't change the system DPI settings during the
> proccess.
> b.) Update the IDE to the latest trunk and rebuild it.
> c.) Open your project in the IDE.
> d.) Enable LCL scaling for your application DPI awarness in Project
> Options -> Application -> "Use LCL scaling (Hi-DPI).
> e.) On Windows: enable DPI awarness in Project Options -> Application.
> Decide if you want to support per monitor DPI awarness or not.
> f.) Make sure TForm.Scaled=True for all your forms (default value).
> g.) Make sure you use TControl.ScaleCoord() or ScaleCoord96() to scale
> coordinates during the run-time.
>
> And you are ready. Your forms will scale both in runtime and design
> time nicely.
>
> For those who followed my last announcement: as Zeljko and Michael
> requested, I removed the LCLScaleForms define and introduced the
> Application.Scaled property instead (that you set in step 2d). The
> default value is Application.Scaled=False.
>
> If you keep Application.Scaled=False, there won't be any changes in
> your application.
>
> Please report issues or comment on problems. I have still time to
> change things until Lazarus 1.8 is out (you can expect RC1 in April).
>
> Ondrej
>
More information about the Lazarus
mailing list