- Daniel Vivier
- PowerBuilder
- Friday, 29 November 2019 02:17 AM UTC
I just figured out that if you do GetEnvironment(env) and then examine env.ScreenHeight and env.ScreenWidth, they do NOT show you current screen dimensions, unless you have the text etc. scaling set to 100%. If you have it set to 125%, for instance, the values are divided by 1.25.
So for instance my Display Settings in Windows 10 are scaling 125%, with 1920 x 1080 resolution. But env.ScreenHeight is 1536 (1920 / 1.25) and env.ScreenWidth is 864 (1080 / 1.25). This is definitely NOT made clear in the Help on the Environment object!
Our program is trying to determine on startup whether the screen dimensions are big enough to display our largest fixed-size window, and I have mostly been depending on just the env.ScreenHeight and env.ScreenWidth. But now I know that is inaccurate.
Any suggestions on what we should be doing instead? The Environment object doesn't seem to have a scale factor property, though I'm sure one could get it with an API call. But I'm then still not really sure what to do with that info, because I'm not sure what my test should be for "are the display dimensions big enough for our program".
Thanks.
Find Questions by Tag
Helpful?
If a reply or comment is helpful for you, please don’t hesitate to click the Helpful button. This action is further confirmation of their invaluable contribution to the Appeon Community.