On 07.10.2015 10:25, Michael Van Canneyt wrote:

Would you mind elaborating on this ?

I wrote an app which is DPI aware (as per the instructions on the Lazarus wiki).

It worked on Linux, Windows 7. Then someone ran it on Windows 8 and 10, and those versions of Windows did something which completely messed up the DPI awareness. I believe it has something to do with the manifest, but I didn't have time to investigate it yet :(

I don't use the designer at all (no LFM files). I create every visual component and form in pascal sources and I manually care for proper scaling. This approach slows down a little bit the design but I have to say that I am very happy with it. Actually everything I do is that I use a scaling factor for every control I place on the form. Something like:
Button.Width := ScaleMe(100);
Button.Height := ScaleMe(20);
And yes, I use manifest with DPI awarness enabled.
Easy and works like a charm. I have not added support for multiple monitors with different DPI yet, though. But this shouldn't be a big problem. You just have to know that the form moved to another screen and scale every control appropriately.

Ondrej

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to